diff --git a/Casadi/Core/Classes/Callback.hs b/Casadi/Core/Classes/Callback.hs
--- a/Casadi/Core/Classes/Callback.hs
+++ b/Casadi/Core/Classes/Callback.hs
@@ -30,7 +30,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__Callback__CONSTRUCTOR" c_casadi__Callback__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr Callback')
diff --git a/Casadi/Core/Classes/CasadiMeta.hs b/Casadi/Core/Classes/CasadiMeta.hs
--- a/Casadi/Core/Classes/CasadiMeta.hs
+++ b/Casadi/Core/Classes/CasadiMeta.hs
@@ -39,7 +39,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__CasadiMeta__getBuildType" c_casadi__CasadiMeta__getBuildType
   :: Ptr (Ptr StdString) -> IO (Ptr StdString)
diff --git a/Casadi/Core/Classes/CasadiOptions.hs b/Casadi/Core/Classes/CasadiOptions.hs
--- a/Casadi/Core/Classes/CasadiOptions.hs
+++ b/Casadi/Core/Classes/CasadiOptions.hs
@@ -41,7 +41,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__CasadiOptions__getAllowedInternalAPI" c_casadi__CasadiOptions__getAllowedInternalAPI
   :: Ptr (Ptr StdString) -> IO CInt
diff --git a/Casadi/Core/Classes/CleSolver.hs b/Casadi/Core/Classes/CleSolver.hs
--- a/Casadi/Core/Classes/CleSolver.hs
+++ b/Casadi/Core/Classes/CleSolver.hs
@@ -35,7 +35,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__CleSolver__CONSTRUCTOR" c_casadi__CleSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr CleSolver')
diff --git a/Casadi/Core/Classes/ControlSimulator.hs b/Casadi/Core/Classes/ControlSimulator.hs
--- a/Casadi/Core/Classes/ControlSimulator.hs
+++ b/Casadi/Core/Classes/ControlSimulator.hs
@@ -37,7 +37,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__ControlSimulator__CONSTRUCTOR__0" c_casadi__ControlSimulator__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr DMatrix' -> IO (Ptr ControlSimulator')
diff --git a/Casadi/Core/Classes/CustomEvaluate.hs b/Casadi/Core/Classes/CustomEvaluate.hs
--- a/Casadi/Core/Classes/CustomEvaluate.hs
+++ b/Casadi/Core/Classes/CustomEvaluate.hs
@@ -30,7 +30,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__CustomEvaluate__CONSTRUCTOR" c_casadi__CustomEvaluate__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr CustomEvaluate')
diff --git a/Casadi/Core/Classes/CustomFunction.hs b/Casadi/Core/Classes/CustomFunction.hs
--- a/Casadi/Core/Classes/CustomFunction.hs
+++ b/Casadi/Core/Classes/CustomFunction.hs
@@ -32,7 +32,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__CustomFunction__CONSTRUCTOR__0" c_casadi__CustomFunction__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr CustomEvaluate' -> IO (Ptr CustomFunction')
diff --git a/Casadi/Core/Classes/DMatrix.hs b/Casadi/Core/Classes/DMatrix.hs
--- a/Casadi/Core/Classes/DMatrix.hs
+++ b/Casadi/Core/Classes/DMatrix.hs
@@ -9,6609 +9,7672 @@
        (
          DMatrix,
          DMatrixClass(..),
-         dmatrix__0,
-         dmatrix__1,
-         dmatrix__10,
-         dmatrix__11,
-         dmatrix__2,
-         dmatrix__3,
-         dmatrix__4,
-         dmatrix__5,
-         dmatrix__6,
-         dmatrix__7,
-         dmatrix__8,
-         dmatrix__9,
-         dmatrix___add__,
-         dmatrix___constpow__,
-         dmatrix___copysign__,
-         dmatrix___div__,
-         dmatrix___eq__,
-         dmatrix___ge____0,
-         dmatrix___ge____1,
-         dmatrix___gt____0,
-         dmatrix___gt____1,
-         dmatrix___le__,
-         dmatrix___lt__,
-         dmatrix___mldivide__,
-         dmatrix___mpower__,
-         dmatrix___mrdivide__,
-         dmatrix___mul__,
-         dmatrix___ne__,
-         dmatrix___nonzero__,
-         dmatrix___pow__,
-         dmatrix___radd__,
-         dmatrix___rdiv__,
-         dmatrix___req__,
-         dmatrix___rge__,
-         dmatrix___rgt__,
-         dmatrix___rle__,
-         dmatrix___rlt__,
-         dmatrix___rmul__,
-         dmatrix___rne__,
-         dmatrix___rsub__,
-         dmatrix___rtruediv__,
-         dmatrix___sub__,
-         dmatrix___truediv____0,
-         dmatrix___truediv____1,
-         dmatrix_append,
-         dmatrix_appendColumns,
-         dmatrix_arccos,
-         dmatrix_arccosh,
-         dmatrix_arcsin,
-         dmatrix_arcsinh,
-         dmatrix_arctan,
-         dmatrix_arctan2,
-         dmatrix_arctanh,
-         dmatrix_at,
-         dmatrix_binary,
-         dmatrix_ceil,
-         dmatrix_className,
-         dmatrix_clear,
-         dmatrix_colind__0,
-         dmatrix_colind__1,
-         dmatrix_cos,
-         dmatrix_cosh,
-         dmatrix_data__0,
-         dmatrix_data__1,
-         dmatrix_densify__0,
-         dmatrix_densify__1,
-         dmatrix_dimString,
-         dmatrix_elem__0,
-         dmatrix_elem__1,
-         dmatrix_enlarge,
-         dmatrix_erase,
-         dmatrix_erf,
-         dmatrix_erfinv,
-         dmatrix_exp,
-         dmatrix_eye,
-         dmatrix_fabs,
-         dmatrix_floor,
-         dmatrix_fmax,
-         dmatrix_fmin,
-         dmatrix_fmod,
-         dmatrix_getDescription,
-         dmatrix_getElement__0,
-         dmatrix_getElement__1,
-         dmatrix_getEqualityCheckingDepth,
-         dmatrix_getMaxNumCallsInPrint,
-         dmatrix_getNZ__0,
-         dmatrix_getNZ__1,
-         dmatrix_getNZ__2,
-         dmatrix_getNZ__3,
-         dmatrix_getName,
-         dmatrix_getRepresentation,
-         dmatrix_getValue,
-         dmatrix_get__0,
-         dmatrix_get__1,
-         dmatrix_get__2,
-         dmatrix_get__3,
-         dmatrix_get__4,
-         dmatrix_get__5,
-         dmatrix_hasNZ,
-         dmatrix_hasNonStructuralZeros,
-         dmatrix_if_else_zero,
-         dmatrix_indexed__0,
-         dmatrix_indexed__1,
-         dmatrix_indexed__2,
-         dmatrix_indexed__3,
-         dmatrix_indexed__4,
-         dmatrix_indexed__5,
-         dmatrix_indexed_assignment__0,
-         dmatrix_indexed_assignment__1,
-         dmatrix_indexed_assignment__2,
-         dmatrix_indexed_assignment__3,
-         dmatrix_indexed_assignment__4,
-         dmatrix_indexed_assignment__5,
-         dmatrix_indexed_one_based__0,
-         dmatrix_indexed_one_based__1,
-         dmatrix_indexed_one_based__2,
-         dmatrix_indexed_one_based_assignment__0,
-         dmatrix_indexed_one_based_assignment__1,
-         dmatrix_indexed_one_based_assignment__2,
-         dmatrix_indexed_zero_based__0,
-         dmatrix_indexed_zero_based__1,
-         dmatrix_indexed_zero_based__2,
-         dmatrix_indexed_zero_based_assignment__0,
-         dmatrix_indexed_zero_based_assignment__1,
-         dmatrix_indexed_zero_based_assignment__2,
-         dmatrix_inf__0,
-         dmatrix_inf__1,
-         dmatrix_inf__2,
-         dmatrix_inf__3,
-         dmatrix_isConstant,
-         dmatrix_isDense,
-         dmatrix_isEmpty__0,
-         dmatrix_isEmpty__1,
-         dmatrix_isEqual,
-         dmatrix_isIdentity,
-         dmatrix_isInteger,
-         dmatrix_isMinusOne,
-         dmatrix_isOne,
-         dmatrix_isRegular,
-         dmatrix_isScalar__0,
-         dmatrix_isScalar__1,
-         dmatrix_isSmooth,
-         dmatrix_isSquare,
-         dmatrix_isSymbolic,
-         dmatrix_isSymbolicSparse,
-         dmatrix_isTril,
-         dmatrix_isTriu,
-         dmatrix_isVector,
-         dmatrix_isZero,
-         dmatrix_log,
-         dmatrix_log10,
-         dmatrix_logic_and,
-         dmatrix_logic_not,
-         dmatrix_logic_or,
-         dmatrix_matrix_matrix,
-         dmatrix_matrix_scalar,
-         dmatrix_mul__0,
-         dmatrix_mul__1,
-         dmatrix_mul_full__0,
-         dmatrix_mul_full__1,
-         dmatrix_mul_no_alloc_nn__0,
-         dmatrix_mul_no_alloc_nn__1,
-         dmatrix_mul_no_alloc_nn__2,
-         dmatrix_mul_no_alloc_nt,
-         dmatrix_mul_no_alloc_tn__0,
-         dmatrix_mul_no_alloc_tn__1,
-         dmatrix_mul_smart,
-         dmatrix_nan__0,
-         dmatrix_nan__1,
-         dmatrix_nan__2,
-         dmatrix_nan__3,
-         dmatrix_numel,
-         dmatrix_nz_indexed,
-         dmatrix_nz_indexed_assignment,
-         dmatrix_nz_indexed_one_based__0,
-         dmatrix_nz_indexed_one_based__1,
-         dmatrix_nz_indexed_one_based_assignment__0,
-         dmatrix_nz_indexed_one_based_assignment__1,
-         dmatrix_nz_indexed_zero_based__0,
-         dmatrix_nz_indexed_zero_based__1,
-         dmatrix_nz_indexed_zero_based_assignment__0,
-         dmatrix_nz_indexed_zero_based_assignment__1,
-         dmatrix_ones__0,
-         dmatrix_ones__1,
-         dmatrix_ones__2,
-         dmatrix_ones__3,
-         dmatrix_printDense,
-         dmatrix_printScalar,
-         dmatrix_printSparse,
-         dmatrix_printVector,
-         dmatrix_printme,
-         dmatrix_quad_form,
-         dmatrix_remove,
-         dmatrix_repmat__0,
-         dmatrix_repmat__1,
-         dmatrix_repmat__2,
-         dmatrix_repmat__3,
-         dmatrix_reserve__0,
-         dmatrix_reserve__1,
-         dmatrix_resize,
-         dmatrix_row__0,
-         dmatrix_row__1,
-         dmatrix_sanityCheck__0,
-         dmatrix_sanityCheck__1,
-         dmatrix_scalar_matrix,
-         dmatrix_setAll,
-         dmatrix_setEqualityCheckingDepth__0,
-         dmatrix_setEqualityCheckingDepth__1,
-         dmatrix_setMaxNumCallsInPrint__0,
-         dmatrix_setMaxNumCallsInPrint__1,
-         dmatrix_setNZ__0,
-         dmatrix_setNZ__1,
-         dmatrix_setNZ__2,
-         dmatrix_setNZ__3,
-         dmatrix_setPrecision,
-         dmatrix_setScientific,
-         dmatrix_setSparse__0,
-         dmatrix_setSparse__1,
-         dmatrix_setSub__0,
-         dmatrix_setSub__1,
-         dmatrix_setSub__10,
-         dmatrix_setSub__11,
-         dmatrix_setSub__12,
-         dmatrix_setSub__13,
-         dmatrix_setSub__14,
-         dmatrix_setSub__15,
-         dmatrix_setSub__16,
-         dmatrix_setSub__2,
-         dmatrix_setSub__3,
-         dmatrix_setSub__4,
-         dmatrix_setSub__5,
-         dmatrix_setSub__6,
-         dmatrix_setSub__7,
-         dmatrix_setSub__8,
-         dmatrix_setSub__9,
-         dmatrix_setWidth,
-         dmatrix_setZero,
-         dmatrix_set__0,
-         dmatrix_set__1,
-         dmatrix_set__2,
-         dmatrix_set__3,
-         dmatrix_set__4,
-         dmatrix_set__5,
-         dmatrix_sign,
-         dmatrix_sin,
-         dmatrix_sinh,
-         dmatrix_size1,
-         dmatrix_size2,
-         dmatrix_sizeD,
-         dmatrix_sizeL,
-         dmatrix_sizeU,
-         dmatrix_size__0,
-         dmatrix_size__1,
-         dmatrix_sparse__0,
-         dmatrix_sparse__1,
-         dmatrix_sparse__2,
-         dmatrix_sparsify__0,
-         dmatrix_sparsify__1,
-         dmatrix_sparsityRef__0,
-         dmatrix_sparsityRef__1,
-         dmatrix_sparsity__0,
-         dmatrix_sparsity__1,
-         dmatrix_sqrt,
-         dmatrix_sub__0,
-         dmatrix_sub__1,
-         dmatrix_sub__10,
-         dmatrix_sub__11,
-         dmatrix_sub__12,
-         dmatrix_sub__13,
-         dmatrix_sub__14,
-         dmatrix_sub__15,
-         dmatrix_sub__16,
-         dmatrix_sub__17,
-         dmatrix_sub__2,
-         dmatrix_sub__3,
-         dmatrix_sub__4,
-         dmatrix_sub__5,
-         dmatrix_sub__6,
-         dmatrix_sub__7,
-         dmatrix_sub__8,
-         dmatrix_sub__9,
-         dmatrix_sym__0,
-         dmatrix_sym__1,
-         dmatrix_sym__2,
-         dmatrix_sym__3,
-         dmatrix_sym__4,
-         dmatrix_sym__5,
-         dmatrix_sym__6,
-         dmatrix_sym__7,
-         dmatrix_tan,
-         dmatrix_tanh,
-         dmatrix_toScalar,
-         dmatrix_trans,
-         dmatrix_triplet__0,
-         dmatrix_triplet__1,
-         dmatrix_unary,
-         dmatrix_zeros__0,
-         dmatrix_zeros__1,
-         dmatrix_zeros__2,
-         dmatrix_zeros__3,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.CToolsInstances ( )
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__0" c_casadi__DMatrix__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__0
-  :: Vector Int -> Int -> Int -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__0 :: Vector Int -> Int -> Int -> IO DMatrix
-dmatrix__0 = casadi__DMatrix__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__1" c_casadi__DMatrix__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__1
-  :: Vector Int -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__1 :: Vector Int -> IO DMatrix
-dmatrix__1 = casadi__DMatrix__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__2" c_casadi__DMatrix__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__2
-  :: IMatrix -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__2 :: IMatrix -> IO DMatrix
-dmatrix__2 = casadi__DMatrix__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__3" c_casadi__DMatrix__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__3
-  :: Vector Double -> Int -> Int -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__3 :: Vector Double -> Int -> Int -> IO DMatrix
-dmatrix__3 = casadi__DMatrix__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__4" c_casadi__DMatrix__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__4
-  :: Vector Double -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__4 :: Vector Double -> IO DMatrix
-dmatrix__4 = casadi__DMatrix__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__5" c_casadi__DMatrix__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__5
-  :: Double -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__5 :: Double -> IO DMatrix
-dmatrix__5 = casadi__DMatrix__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__6" c_casadi__DMatrix__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CDouble) -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__6
-  :: Sparsity -> Vector Double -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__6 :: Sparsity -> Vector Double -> IO DMatrix
-dmatrix__6 = casadi__DMatrix__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__7" c_casadi__DMatrix__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__7
-  :: Sparsity -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__7 :: Sparsity -> IO DMatrix
-dmatrix__7 = casadi__DMatrix__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__8" c_casadi__DMatrix__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CDouble -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__8
-  :: Sparsity -> Double -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__8 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__8 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__8 :: Sparsity -> Double -> IO DMatrix
-dmatrix__8 = casadi__DMatrix__CONSTRUCTOR__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__9" c_casadi__DMatrix__CONSTRUCTOR__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__9
-  :: Vector (Vector Double) -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__9 :: Vector (Vector Double) -> IO DMatrix
-dmatrix__9 = casadi__DMatrix__CONSTRUCTOR__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__10" c_casadi__DMatrix__CONSTRUCTOR__10
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__10
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__10 :: DMatrix -> IO DMatrix
-dmatrix__10 = casadi__DMatrix__CONSTRUCTOR__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__11" c_casadi__DMatrix__CONSTRUCTOR__11
-  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
-casadi__DMatrix__CONSTRUCTOR__11
-  :: IO DMatrix
-casadi__DMatrix__CONSTRUCTOR__11  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__CONSTRUCTOR__11 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix__11 :: IO DMatrix
-dmatrix__11 = casadi__DMatrix__CONSTRUCTOR__11
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____add__" c_casadi__DMatrix____add__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____add__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____add__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___add__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___add__ x = casadi__DMatrix____add__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____constpow__" c_casadi__DMatrix____constpow__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____constpow__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____constpow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___constpow__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___constpow__ x = casadi__DMatrix____constpow__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____copysign__" c_casadi__DMatrix____copysign__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____copysign__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____copysign__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___copysign__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___copysign__ x = casadi__DMatrix____copysign__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____div__" c_casadi__DMatrix____div__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____div__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____div__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___div__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___div__ x = casadi__DMatrix____div__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____eq__" c_casadi__DMatrix____eq__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____eq__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____eq__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___eq__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___eq__ x = casadi__DMatrix____eq__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____ge____0" c_casadi__DMatrix____ge____0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____ge____0
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____ge____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____ge____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___ge____0 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___ge____0 x = casadi__DMatrix____ge____0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____ge____1" c_casadi__DMatrix____ge____1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____ge____1
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____ge____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____ge____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___ge____1 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___ge____1 x = casadi__DMatrix____ge____1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____gt____0" c_casadi__DMatrix____gt____0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____gt____0
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____gt____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____gt____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___gt____0 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___gt____0 x = casadi__DMatrix____gt____0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____gt____1" c_casadi__DMatrix____gt____1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____gt____1
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____gt____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____gt____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___gt____1 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___gt____1 x = casadi__DMatrix____gt____1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____le__" c_casadi__DMatrix____le__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____le__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____le__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___le__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___le__ x = casadi__DMatrix____le__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____lt__" c_casadi__DMatrix____lt__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____lt__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____lt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___lt__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___lt__ x = casadi__DMatrix____lt__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____mldivide__" c_casadi__DMatrix____mldivide__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____mldivide__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____mldivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___mldivide__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___mldivide__ x = casadi__DMatrix____mldivide__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____mpower__" c_casadi__DMatrix____mpower__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____mpower__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____mpower__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___mpower__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___mpower__ x = casadi__DMatrix____mpower__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____mrdivide__" c_casadi__DMatrix____mrdivide__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____mrdivide__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____mrdivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___mrdivide__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___mrdivide__ x = casadi__DMatrix____mrdivide__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____mul__" c_casadi__DMatrix____mul__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____mul__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____mul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___mul__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___mul__ x = casadi__DMatrix____mul__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____ne__" c_casadi__DMatrix____ne__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____ne__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____ne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___ne__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___ne__ x = casadi__DMatrix____ne__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____nonzero__" c_casadi__DMatrix____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix____nonzero__
-  :: DMatrix -> IO Bool
-casadi__DMatrix____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____nonzero__ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___nonzero__ :: DMatrixClass a => a -> IO Bool
-dmatrix___nonzero__ x = casadi__DMatrix____nonzero__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____pow__" c_casadi__DMatrix____pow__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____pow__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____pow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___pow__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___pow__ x = casadi__DMatrix____pow__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____radd__" c_casadi__DMatrix____radd__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____radd__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____radd__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___radd__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___radd__ x = casadi__DMatrix____radd__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rdiv__" c_casadi__DMatrix____rdiv__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rdiv__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rdiv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rdiv__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rdiv__ x = casadi__DMatrix____rdiv__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____req__" c_casadi__DMatrix____req__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____req__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____req__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___req__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___req__ x = casadi__DMatrix____req__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rge__" c_casadi__DMatrix____rge__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rge__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rge__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rge__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rge__ x = casadi__DMatrix____rge__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rgt__" c_casadi__DMatrix____rgt__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rgt__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rgt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rgt__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rgt__ x = casadi__DMatrix____rgt__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rle__" c_casadi__DMatrix____rle__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rle__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rle__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rle__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rle__ x = casadi__DMatrix____rle__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rlt__" c_casadi__DMatrix____rlt__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rlt__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rlt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rlt__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rlt__ x = casadi__DMatrix____rlt__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rmul__" c_casadi__DMatrix____rmul__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rmul__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rmul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rmul__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rmul__ x = casadi__DMatrix____rmul__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rne__" c_casadi__DMatrix____rne__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rne__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rne__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rne__ x = casadi__DMatrix____rne__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rsub__" c_casadi__DMatrix____rsub__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rsub__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rsub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rsub__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rsub__ x = casadi__DMatrix____rsub__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____rtruediv__" c_casadi__DMatrix____rtruediv__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____rtruediv__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____rtruediv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___rtruediv__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___rtruediv__ x = casadi__DMatrix____rtruediv__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____sub__" c_casadi__DMatrix____sub__
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____sub__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____sub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___sub__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___sub__ x = casadi__DMatrix____sub__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____truediv____0" c_casadi__DMatrix____truediv____0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____truediv____0
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____truediv____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____truediv____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___truediv____0 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___truediv____0 x = casadi__DMatrix____truediv____0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix____truediv____1" c_casadi__DMatrix____truediv____1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix____truediv____1
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix____truediv____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix____truediv____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix___truediv____1 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___truediv____1 x = casadi__DMatrix____truediv____1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__append" c_casadi__DMatrix__append
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__append
-  :: DMatrix -> DMatrix -> IO ()
-casadi__DMatrix__append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__append errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_append :: DMatrixClass a => a -> DMatrix -> IO ()
-dmatrix_append x = casadi__DMatrix__append (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__appendColumns" c_casadi__DMatrix__appendColumns
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__appendColumns
-  :: DMatrix -> DMatrix -> IO ()
-casadi__DMatrix__appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__appendColumns errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_appendColumns :: DMatrixClass a => a -> DMatrix -> IO ()
-dmatrix_appendColumns x = casadi__DMatrix__appendColumns (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__arccos" c_casadi__DMatrix__arccos
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__arccos
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__arccos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__arccos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_arccos :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arccos x = casadi__DMatrix__arccos (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__arccosh" c_casadi__DMatrix__arccosh
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__arccosh
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__arccosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_arccosh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arccosh x = casadi__DMatrix__arccosh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__arcsin" c_casadi__DMatrix__arcsin
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__arcsin
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__arcsin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_arcsin :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arcsin x = casadi__DMatrix__arcsin (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__arcsinh" c_casadi__DMatrix__arcsinh
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__arcsinh
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__arcsinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_arcsinh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arcsinh x = casadi__DMatrix__arcsinh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__arctan" c_casadi__DMatrix__arctan
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__arctan
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__arctan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__arctan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_arctan :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arctan x = casadi__DMatrix__arctan (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__arctan2" c_casadi__DMatrix__arctan2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__arctan2
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__arctan2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_arctan2 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_arctan2 x = casadi__DMatrix__arctan2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__arctanh" c_casadi__DMatrix__arctanh
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__arctanh
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__arctanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_arctanh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arctanh x = casadi__DMatrix__arctanh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__at" c_casadi__DMatrix__at
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CDouble
-casadi__DMatrix__at
-  :: DMatrix -> Int -> IO Double
-casadi__DMatrix__at x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__at errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_at :: DMatrixClass a => a -> Int -> IO Double
-dmatrix_at x = casadi__DMatrix__at (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__binary" c_casadi__DMatrix__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__binary
-  :: Int -> DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__binary errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_binary :: Int -> DMatrix -> DMatrix -> IO DMatrix
-dmatrix_binary = casadi__DMatrix__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__ceil" c_casadi__DMatrix__ceil
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__ceil
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__ceil x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__ceil errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_ceil :: DMatrixClass a => a -> IO DMatrix
-dmatrix_ceil x = casadi__DMatrix__ceil (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__className" c_casadi__DMatrix__className
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__DMatrix__className
-  :: IO String
-casadi__DMatrix__className  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__className errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_className :: IO String
-dmatrix_className = casadi__DMatrix__className
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__clear" c_casadi__DMatrix__clear
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__clear
-  :: DMatrix -> IO ()
-casadi__DMatrix__clear x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__clear errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_clear :: DMatrixClass a => a -> IO ()
-dmatrix_clear x = casadi__DMatrix__clear (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__colind__0" c_casadi__DMatrix__colind__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
-casadi__DMatrix__colind__0
-  :: DMatrix -> Int -> IO Int
-casadi__DMatrix__colind__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__colind__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_colind__0 :: DMatrixClass a => a -> Int -> IO Int
-dmatrix_colind__0 x = casadi__DMatrix__colind__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__colind__1" c_casadi__DMatrix__colind__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec CInt))
-casadi__DMatrix__colind__1
-  :: DMatrix -> IO (Vector Int)
-casadi__DMatrix__colind__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__colind__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_colind__1 :: DMatrixClass a => a -> IO (Vector Int)
-dmatrix_colind__1 x = casadi__DMatrix__colind__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__cos" c_casadi__DMatrix__cos
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__cos
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__cos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__cos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_cos :: DMatrixClass a => a -> IO DMatrix
-dmatrix_cos x = casadi__DMatrix__cos (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__cosh" c_casadi__DMatrix__cosh
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__cosh
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__cosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__cosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_cosh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_cosh x = casadi__DMatrix__cosh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__data__0" c_casadi__DMatrix__data__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec CDouble))
-casadi__DMatrix__data__0
-  :: DMatrix -> IO (Vector Double)
-casadi__DMatrix__data__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__data__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_data__0 :: DMatrixClass a => a -> IO (Vector Double)
-dmatrix_data__0 x = casadi__DMatrix__data__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__data__1" c_casadi__DMatrix__data__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec CDouble))
-casadi__DMatrix__data__1
-  :: DMatrix -> IO (Vector Double)
-casadi__DMatrix__data__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__data__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_data__1 :: DMatrixClass a => a -> IO (Vector Double)
-dmatrix_data__1 x = casadi__DMatrix__data__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__densify__0" c_casadi__DMatrix__densify__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__densify__0
-  :: DMatrix -> IO ()
-casadi__DMatrix__densify__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__densify__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_densify__0 :: DMatrixClass a => a -> IO ()
-dmatrix_densify__0 x = casadi__DMatrix__densify__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__densify__1" c_casadi__DMatrix__densify__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
-casadi__DMatrix__densify__1
-  :: DMatrix -> Double -> IO ()
-casadi__DMatrix__densify__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__densify__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_densify__1 :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_densify__1 x = casadi__DMatrix__densify__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__dimString" c_casadi__DMatrix__dimString
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr StdString)
-casadi__DMatrix__dimString
-  :: DMatrix -> IO String
-casadi__DMatrix__dimString x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__dimString errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_dimString :: DMatrixClass a => a -> IO String
-dmatrix_dimString x = casadi__DMatrix__dimString (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__elem__0" c_casadi__DMatrix__elem__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CDouble
-casadi__DMatrix__elem__0
-  :: DMatrix -> Int -> IO Double
-casadi__DMatrix__elem__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__elem__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_elem__0 :: DMatrixClass a => a -> Int -> IO Double
-dmatrix_elem__0 x = casadi__DMatrix__elem__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__elem__1" c_casadi__DMatrix__elem__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO CDouble
-casadi__DMatrix__elem__1
-  :: DMatrix -> Int -> Int -> IO Double
-casadi__DMatrix__elem__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__elem__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_elem__1 :: DMatrixClass a => a -> Int -> Int -> IO Double
-dmatrix_elem__1 x = casadi__DMatrix__elem__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__enlarge" c_casadi__DMatrix__enlarge
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__DMatrix__enlarge
-  :: DMatrix -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__DMatrix__enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__enlarge errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_enlarge :: DMatrixClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-dmatrix_enlarge x = casadi__DMatrix__enlarge (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__erase" c_casadi__DMatrix__erase
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__DMatrix__erase
-  :: DMatrix -> Vector Int -> Vector Int -> IO ()
-casadi__DMatrix__erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__erase errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_erase :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
-dmatrix_erase x = casadi__DMatrix__erase (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__erf" c_casadi__DMatrix__erf
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__erf
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__erf x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__erf errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_erf :: DMatrixClass a => a -> IO DMatrix
-dmatrix_erf x = casadi__DMatrix__erf (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__erfinv" c_casadi__DMatrix__erfinv
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__erfinv
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__erfinv errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_erfinv :: DMatrixClass a => a -> IO DMatrix
-dmatrix_erfinv x = casadi__DMatrix__erfinv (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__exp" c_casadi__DMatrix__exp
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__exp
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__exp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__exp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_exp :: DMatrixClass a => a -> IO DMatrix
-dmatrix_exp x = casadi__DMatrix__exp (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__eye" c_casadi__DMatrix__eye
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__eye
-  :: Int -> IO DMatrix
-casadi__DMatrix__eye x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__eye errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_eye :: Int -> IO DMatrix
-dmatrix_eye = casadi__DMatrix__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__fabs" c_casadi__DMatrix__fabs
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__fabs
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__fabs x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__fabs errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_fabs :: DMatrixClass a => a -> IO DMatrix
-dmatrix_fabs x = casadi__DMatrix__fabs (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__floor" c_casadi__DMatrix__floor
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__floor
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__floor x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__floor errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_floor :: DMatrixClass a => a -> IO DMatrix
-dmatrix_floor x = casadi__DMatrix__floor (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__fmax" c_casadi__DMatrix__fmax
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__fmax
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__fmax errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_fmax :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_fmax x = casadi__DMatrix__fmax (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__fmin" c_casadi__DMatrix__fmin
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__fmin
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__fmin errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_fmin :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_fmin x = casadi__DMatrix__fmin (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__fmod" c_casadi__DMatrix__fmod
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__fmod
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__fmod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__fmod errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_fmod :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_fmod x = casadi__DMatrix__fmod (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__get__0" c_casadi__DMatrix__get__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__get__0
-  :: DMatrix -> DMatrix -> IO ()
-casadi__DMatrix__get__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__get__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_get__0 :: DMatrixClass a => a -> DMatrix -> IO ()
-dmatrix_get__0 x = casadi__DMatrix__get__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__get__1" c_casadi__DMatrix__get__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO ()
-casadi__DMatrix__get__1
-  :: DMatrix -> DMatrix -> SparsityType -> IO ()
-casadi__DMatrix__get__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__get__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_get__1 :: DMatrixClass a => a -> DMatrix -> SparsityType -> IO ()
-dmatrix_get__1 x = casadi__DMatrix__get__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__get__2" c_casadi__DMatrix__get__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> IO ()
-casadi__DMatrix__get__2
-  :: DMatrix -> Vector Double -> IO ()
-casadi__DMatrix__get__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__get__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_get__2 :: DMatrixClass a => a -> Vector Double -> IO ()
-dmatrix_get__2 x = casadi__DMatrix__get__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__get__3" c_casadi__DMatrix__get__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> CInt -> IO ()
-casadi__DMatrix__get__3
-  :: DMatrix -> Vector Double -> SparsityType -> IO ()
-casadi__DMatrix__get__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__get__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_get__3 :: DMatrixClass a => a -> Vector Double -> SparsityType -> IO ()
-dmatrix_get__3 x = casadi__DMatrix__get__3 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__get__4" c_casadi__DMatrix__get__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
-casadi__DMatrix__get__4
-  :: DMatrix -> Double -> IO ()
-casadi__DMatrix__get__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__get__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_get__4 :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_get__4 x = casadi__DMatrix__get__4 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__get__5" c_casadi__DMatrix__get__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> CInt -> IO ()
-casadi__DMatrix__get__5
-  :: DMatrix -> Double -> SparsityType -> IO ()
-casadi__DMatrix__get__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__get__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_get__5 :: DMatrixClass a => a -> Double -> SparsityType -> IO ()
-dmatrix_get__5 x = casadi__DMatrix__get__5 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getElement__0" c_casadi__DMatrix__getElement__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CDouble
-casadi__DMatrix__getElement__0
-  :: DMatrix -> Int -> IO Double
-casadi__DMatrix__getElement__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getElement__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getElement__0 :: DMatrixClass a => a -> Int -> IO Double
-dmatrix_getElement__0 x = casadi__DMatrix__getElement__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getElement__1" c_casadi__DMatrix__getElement__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO CDouble
-casadi__DMatrix__getElement__1
-  :: DMatrix -> Int -> Int -> IO Double
-casadi__DMatrix__getElement__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getElement__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getElement__1 :: DMatrixClass a => a -> Int -> Int -> IO Double
-dmatrix_getElement__1 x = casadi__DMatrix__getElement__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getEqualityCheckingDepth" c_casadi__DMatrix__getEqualityCheckingDepth
-  :: Ptr (Ptr StdString) -> IO CInt
-casadi__DMatrix__getEqualityCheckingDepth
-  :: IO Int
-casadi__DMatrix__getEqualityCheckingDepth  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getEqualityCheckingDepth errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getEqualityCheckingDepth :: IO Int
-dmatrix_getEqualityCheckingDepth = casadi__DMatrix__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getMaxNumCallsInPrint" c_casadi__DMatrix__getMaxNumCallsInPrint
-  :: Ptr (Ptr StdString) -> IO CLong
-casadi__DMatrix__getMaxNumCallsInPrint
-  :: IO Int
-casadi__DMatrix__getMaxNumCallsInPrint  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getMaxNumCallsInPrint errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getMaxNumCallsInPrint :: IO Int
-dmatrix_getMaxNumCallsInPrint = casadi__DMatrix__getMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getNZ__0" c_casadi__DMatrix__getNZ__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__getNZ__0
-  :: DMatrix -> IMatrix -> IO DMatrix
-casadi__DMatrix__getNZ__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getNZ__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getNZ__0 :: DMatrixClass a => a -> IMatrix -> IO DMatrix
-dmatrix_getNZ__0 x = casadi__DMatrix__getNZ__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getNZ__1" c_casadi__DMatrix__getNZ__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__getNZ__1
-  :: DMatrix -> Slice -> IO DMatrix
-casadi__DMatrix__getNZ__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getNZ__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getNZ__1 :: DMatrixClass a => a -> Slice -> IO DMatrix
-dmatrix_getNZ__1 x = casadi__DMatrix__getNZ__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getNZ__2" c_casadi__DMatrix__getNZ__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> IO (Ptr DMatrix')
-casadi__DMatrix__getNZ__2
-  :: DMatrix -> Vector Int -> IO DMatrix
-casadi__DMatrix__getNZ__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getNZ__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getNZ__2 :: DMatrixClass a => a -> Vector Int -> IO DMatrix
-dmatrix_getNZ__2 x = casadi__DMatrix__getNZ__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getNZ__3" c_casadi__DMatrix__getNZ__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__getNZ__3
-  :: DMatrix -> Int -> IO DMatrix
-casadi__DMatrix__getNZ__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getNZ__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getNZ__3 :: DMatrixClass a => a -> Int -> IO DMatrix
-dmatrix_getNZ__3 x = casadi__DMatrix__getNZ__3 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getName" c_casadi__DMatrix__getName
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr StdString)
-casadi__DMatrix__getName
-  :: DMatrix -> IO String
-casadi__DMatrix__getName x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getName errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getName :: DMatrixClass a => a -> IO String
-dmatrix_getName x = casadi__DMatrix__getName (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__getValue" c_casadi__DMatrix__getValue
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CDouble
-casadi__DMatrix__getValue
-  :: DMatrix -> IO Double
-casadi__DMatrix__getValue x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__getValue errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_getValue :: DMatrixClass a => a -> IO Double
-dmatrix_getValue x = casadi__DMatrix__getValue (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__hasNZ" c_casadi__DMatrix__hasNZ
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO CInt
-casadi__DMatrix__hasNZ
-  :: DMatrix -> Int -> Int -> IO Bool
-casadi__DMatrix__hasNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__hasNZ errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_hasNZ :: DMatrixClass a => a -> Int -> Int -> IO Bool
-dmatrix_hasNZ x = casadi__DMatrix__hasNZ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__hasNonStructuralZeros" c_casadi__DMatrix__hasNonStructuralZeros
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__hasNonStructuralZeros
-  :: DMatrix -> IO Bool
-casadi__DMatrix__hasNonStructuralZeros x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__hasNonStructuralZeros errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_hasNonStructuralZeros :: DMatrixClass a => a -> IO Bool
-dmatrix_hasNonStructuralZeros x = casadi__DMatrix__hasNonStructuralZeros (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__if_else_zero" c_casadi__DMatrix__if_else_zero
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__if_else_zero
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__if_else_zero errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_if_else_zero :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_if_else_zero x = casadi__DMatrix__if_else_zero (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed__0" c_casadi__DMatrix__indexed__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed__0
-  :: DMatrix -> Slice -> IO DMatrix
-casadi__DMatrix__indexed__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed__0 :: DMatrixClass a => a -> Slice -> IO DMatrix
-dmatrix_indexed__0 x = casadi__DMatrix__indexed__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed__1" c_casadi__DMatrix__indexed__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed__1
-  :: DMatrix -> Sparsity -> IO DMatrix
-casadi__DMatrix__indexed__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed__1 :: DMatrixClass a => a -> Sparsity -> IO DMatrix
-dmatrix_indexed__1 x = casadi__DMatrix__indexed__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed__2" c_casadi__DMatrix__indexed__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed__2
-  :: DMatrix -> IMatrix -> IMatrix -> IO DMatrix
-casadi__DMatrix__indexed__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed__2 :: DMatrixClass a => a -> IMatrix -> IMatrix -> IO DMatrix
-dmatrix_indexed__2 x = casadi__DMatrix__indexed__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed__3" c_casadi__DMatrix__indexed__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed__3
-  :: DMatrix -> IMatrix -> Slice -> IO DMatrix
-casadi__DMatrix__indexed__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed__3 :: DMatrixClass a => a -> IMatrix -> Slice -> IO DMatrix
-dmatrix_indexed__3 x = casadi__DMatrix__indexed__3 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed__4" c_casadi__DMatrix__indexed__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed__4
-  :: DMatrix -> Slice -> IMatrix -> IO DMatrix
-casadi__DMatrix__indexed__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed__4 :: DMatrixClass a => a -> Slice -> IMatrix -> IO DMatrix
-dmatrix_indexed__4 x = casadi__DMatrix__indexed__4 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed__5" c_casadi__DMatrix__indexed__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed__5
-  :: DMatrix -> Slice -> Slice -> IO DMatrix
-casadi__DMatrix__indexed__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed__5 :: DMatrixClass a => a -> Slice -> Slice -> IO DMatrix
-dmatrix_indexed__5 x = casadi__DMatrix__indexed__5 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_assignment__0" c_casadi__DMatrix__indexed_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__indexed_assignment__0
-  :: DMatrix -> Slice -> DMatrix -> IO ()
-casadi__DMatrix__indexed_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_assignment__0 :: DMatrixClass a => a -> Slice -> DMatrix -> IO ()
-dmatrix_indexed_assignment__0 x = casadi__DMatrix__indexed_assignment__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_assignment__1" c_casadi__DMatrix__indexed_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__indexed_assignment__1
-  :: DMatrix -> Sparsity -> DMatrix -> IO ()
-casadi__DMatrix__indexed_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_assignment__1 :: DMatrixClass a => a -> Sparsity -> DMatrix -> IO ()
-dmatrix_indexed_assignment__1 x = casadi__DMatrix__indexed_assignment__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_assignment__2" c_casadi__DMatrix__indexed_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__indexed_assignment__2
-  :: DMatrix -> IMatrix -> IMatrix -> DMatrix -> IO ()
-casadi__DMatrix__indexed_assignment__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_assignment__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_assignment__2 :: DMatrixClass a => a -> IMatrix -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_assignment__2 x = casadi__DMatrix__indexed_assignment__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_assignment__3" c_casadi__DMatrix__indexed_assignment__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__indexed_assignment__3
-  :: DMatrix -> IMatrix -> Slice -> DMatrix -> IO ()
-casadi__DMatrix__indexed_assignment__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_assignment__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_assignment__3 :: DMatrixClass a => a -> IMatrix -> Slice -> DMatrix -> IO ()
-dmatrix_indexed_assignment__3 x = casadi__DMatrix__indexed_assignment__3 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_assignment__4" c_casadi__DMatrix__indexed_assignment__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__indexed_assignment__4
-  :: DMatrix -> Slice -> IMatrix -> DMatrix -> IO ()
-casadi__DMatrix__indexed_assignment__4 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_assignment__4 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_assignment__4 :: DMatrixClass a => a -> Slice -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_assignment__4 x = casadi__DMatrix__indexed_assignment__4 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_assignment__5" c_casadi__DMatrix__indexed_assignment__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__indexed_assignment__5
-  :: DMatrix -> Slice -> Slice -> DMatrix -> IO ()
-casadi__DMatrix__indexed_assignment__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_assignment__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_assignment__5 :: DMatrixClass a => a -> Slice -> Slice -> DMatrix -> IO ()
-dmatrix_indexed_assignment__5 x = casadi__DMatrix__indexed_assignment__5 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_one_based__0" c_casadi__DMatrix__indexed_one_based__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed_one_based__0
-  :: DMatrix -> Int -> IO DMatrix
-casadi__DMatrix__indexed_one_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_one_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_one_based__0 :: DMatrixClass a => a -> Int -> IO DMatrix
-dmatrix_indexed_one_based__0 x = casadi__DMatrix__indexed_one_based__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_one_based__1" c_casadi__DMatrix__indexed_one_based__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed_one_based__1
-  :: DMatrix -> Int -> Int -> IO DMatrix
-casadi__DMatrix__indexed_one_based__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_one_based__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_one_based__1 :: DMatrixClass a => a -> Int -> Int -> IO DMatrix
-dmatrix_indexed_one_based__1 x = casadi__DMatrix__indexed_one_based__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_one_based__2" c_casadi__DMatrix__indexed_one_based__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed_one_based__2
-  :: DMatrix -> IMatrix -> IO DMatrix
-casadi__DMatrix__indexed_one_based__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_one_based__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_one_based__2 :: DMatrixClass a => a -> IMatrix -> IO DMatrix
-dmatrix_indexed_one_based__2 x = casadi__DMatrix__indexed_one_based__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_one_based_assignment__0" c_casadi__DMatrix__indexed_one_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CDouble -> IO ()
-casadi__DMatrix__indexed_one_based_assignment__0
-  :: DMatrix -> Int -> Double -> IO ()
-casadi__DMatrix__indexed_one_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_one_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_one_based_assignment__0 :: DMatrixClass a => a -> Int -> Double -> IO ()
-dmatrix_indexed_one_based_assignment__0 x = casadi__DMatrix__indexed_one_based_assignment__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_one_based_assignment__1" c_casadi__DMatrix__indexed_one_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> CDouble -> IO ()
-casadi__DMatrix__indexed_one_based_assignment__1
-  :: DMatrix -> Int -> Int -> Double -> IO ()
-casadi__DMatrix__indexed_one_based_assignment__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_one_based_assignment__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_one_based_assignment__1 :: DMatrixClass a => a -> Int -> Int -> Double -> IO ()
-dmatrix_indexed_one_based_assignment__1 x = casadi__DMatrix__indexed_one_based_assignment__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_one_based_assignment__2" c_casadi__DMatrix__indexed_one_based_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__indexed_one_based_assignment__2
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casadi__DMatrix__indexed_one_based_assignment__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_one_based_assignment__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_one_based_assignment__2 :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_one_based_assignment__2 x = casadi__DMatrix__indexed_one_based_assignment__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_zero_based__0" c_casadi__DMatrix__indexed_zero_based__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed_zero_based__0
-  :: DMatrix -> Int -> IO DMatrix
-casadi__DMatrix__indexed_zero_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_zero_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_zero_based__0 :: DMatrixClass a => a -> Int -> IO DMatrix
-dmatrix_indexed_zero_based__0 x = casadi__DMatrix__indexed_zero_based__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_zero_based__1" c_casadi__DMatrix__indexed_zero_based__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed_zero_based__1
-  :: DMatrix -> Int -> Int -> IO DMatrix
-casadi__DMatrix__indexed_zero_based__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_zero_based__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_zero_based__1 :: DMatrixClass a => a -> Int -> Int -> IO DMatrix
-dmatrix_indexed_zero_based__1 x = casadi__DMatrix__indexed_zero_based__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_zero_based__2" c_casadi__DMatrix__indexed_zero_based__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__indexed_zero_based__2
-  :: DMatrix -> IMatrix -> IO DMatrix
-casadi__DMatrix__indexed_zero_based__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_zero_based__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_zero_based__2 :: DMatrixClass a => a -> IMatrix -> IO DMatrix
-dmatrix_indexed_zero_based__2 x = casadi__DMatrix__indexed_zero_based__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_zero_based_assignment__0" c_casadi__DMatrix__indexed_zero_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CDouble -> IO ()
-casadi__DMatrix__indexed_zero_based_assignment__0
-  :: DMatrix -> Int -> Double -> IO ()
-casadi__DMatrix__indexed_zero_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_zero_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_zero_based_assignment__0 :: DMatrixClass a => a -> Int -> Double -> IO ()
-dmatrix_indexed_zero_based_assignment__0 x = casadi__DMatrix__indexed_zero_based_assignment__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_zero_based_assignment__1" c_casadi__DMatrix__indexed_zero_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> CDouble -> IO ()
-casadi__DMatrix__indexed_zero_based_assignment__1
-  :: DMatrix -> Int -> Int -> Double -> IO ()
-casadi__DMatrix__indexed_zero_based_assignment__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_zero_based_assignment__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_zero_based_assignment__1 :: DMatrixClass a => a -> Int -> Int -> Double -> IO ()
-dmatrix_indexed_zero_based_assignment__1 x = casadi__DMatrix__indexed_zero_based_assignment__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__indexed_zero_based_assignment__2" c_casadi__DMatrix__indexed_zero_based_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__indexed_zero_based_assignment__2
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casadi__DMatrix__indexed_zero_based_assignment__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__indexed_zero_based_assignment__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_indexed_zero_based_assignment__2 :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_zero_based_assignment__2 x = casadi__DMatrix__indexed_zero_based_assignment__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__inf__0" c_casadi__DMatrix__inf__0
-  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
-casadi__DMatrix__inf__0
-  :: IO DMatrix
-casadi__DMatrix__inf__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__inf__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_inf__0 :: IO DMatrix
-dmatrix_inf__0 = casadi__DMatrix__inf__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__inf__1" c_casadi__DMatrix__inf__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__inf__1
-  :: Int -> IO DMatrix
-casadi__DMatrix__inf__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__inf__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_inf__1 :: Int -> IO DMatrix
-dmatrix_inf__1 = casadi__DMatrix__inf__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__inf__2" c_casadi__DMatrix__inf__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__inf__2
-  :: Int -> Int -> IO DMatrix
-casadi__DMatrix__inf__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__inf__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_inf__2 :: Int -> Int -> IO DMatrix
-dmatrix_inf__2 = casadi__DMatrix__inf__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__inf__3" c_casadi__DMatrix__inf__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__inf__3
-  :: Sparsity -> IO DMatrix
-casadi__DMatrix__inf__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__inf__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_inf__3 :: Sparsity -> IO DMatrix
-dmatrix_inf__3 = casadi__DMatrix__inf__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isConstant" c_casadi__DMatrix__isConstant
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isConstant
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isConstant errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isConstant :: DMatrixClass a => a -> IO Bool
-dmatrix_isConstant x = casadi__DMatrix__isConstant (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isDense" c_casadi__DMatrix__isDense
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isDense
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isDense x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isDense errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isDense :: DMatrixClass a => a -> IO Bool
-dmatrix_isDense x = casadi__DMatrix__isDense (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isEmpty__0" c_casadi__DMatrix__isEmpty__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isEmpty__0
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isEmpty__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isEmpty__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isEmpty__0 :: DMatrixClass a => a -> IO Bool
-dmatrix_isEmpty__0 x = casadi__DMatrix__isEmpty__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isEmpty__1" c_casadi__DMatrix__isEmpty__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
-casadi__DMatrix__isEmpty__1
-  :: DMatrix -> Bool -> IO Bool
-casadi__DMatrix__isEmpty__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isEmpty__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isEmpty__1 :: DMatrixClass a => a -> Bool -> IO Bool
-dmatrix_isEmpty__1 x = casadi__DMatrix__isEmpty__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isEqual" c_casadi__DMatrix__isEqual
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isEqual
-  :: DMatrix -> DMatrix -> IO Bool
-casadi__DMatrix__isEqual x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isEqual errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isEqual :: DMatrixClass a => a -> DMatrix -> IO Bool
-dmatrix_isEqual x = casadi__DMatrix__isEqual (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isIdentity" c_casadi__DMatrix__isIdentity
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isIdentity
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isIdentity x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isIdentity errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isIdentity :: DMatrixClass a => a -> IO Bool
-dmatrix_isIdentity x = casadi__DMatrix__isIdentity (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isInteger" c_casadi__DMatrix__isInteger
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isInteger
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isInteger x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isInteger errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isInteger :: DMatrixClass a => a -> IO Bool
-dmatrix_isInteger x = casadi__DMatrix__isInteger (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isMinusOne" c_casadi__DMatrix__isMinusOne
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isMinusOne
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isMinusOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isMinusOne :: DMatrixClass a => a -> IO Bool
-dmatrix_isMinusOne x = casadi__DMatrix__isMinusOne (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isOne" c_casadi__DMatrix__isOne
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isOne
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isOne :: DMatrixClass a => a -> IO Bool
-dmatrix_isOne x = casadi__DMatrix__isOne (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isRegular" c_casadi__DMatrix__isRegular
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isRegular
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isRegular errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isRegular :: DMatrixClass a => a -> IO Bool
-dmatrix_isRegular x = casadi__DMatrix__isRegular (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isScalar__0" c_casadi__DMatrix__isScalar__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isScalar__0
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isScalar__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isScalar__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isScalar__0 :: DMatrixClass a => a -> IO Bool
-dmatrix_isScalar__0 x = casadi__DMatrix__isScalar__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isScalar__1" c_casadi__DMatrix__isScalar__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
-casadi__DMatrix__isScalar__1
-  :: DMatrix -> Bool -> IO Bool
-casadi__DMatrix__isScalar__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isScalar__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isScalar__1 :: DMatrixClass a => a -> Bool -> IO Bool
-dmatrix_isScalar__1 x = casadi__DMatrix__isScalar__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isSmooth" c_casadi__DMatrix__isSmooth
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isSmooth
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isSmooth x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isSmooth errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isSmooth :: DMatrixClass a => a -> IO Bool
-dmatrix_isSmooth x = casadi__DMatrix__isSmooth (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isSquare" c_casadi__DMatrix__isSquare
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isSquare
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isSquare errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isSquare :: DMatrixClass a => a -> IO Bool
-dmatrix_isSquare x = casadi__DMatrix__isSquare (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isSymbolic" c_casadi__DMatrix__isSymbolic
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isSymbolic
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isSymbolic errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isSymbolic :: DMatrixClass a => a -> IO Bool
-dmatrix_isSymbolic x = casadi__DMatrix__isSymbolic (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isSymbolicSparse" c_casadi__DMatrix__isSymbolicSparse
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isSymbolicSparse
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isSymbolicSparse x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isSymbolicSparse errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isSymbolicSparse :: DMatrixClass a => a -> IO Bool
-dmatrix_isSymbolicSparse x = casadi__DMatrix__isSymbolicSparse (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isTril" c_casadi__DMatrix__isTril
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isTril
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isTril x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isTril errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isTril :: DMatrixClass a => a -> IO Bool
-dmatrix_isTril x = casadi__DMatrix__isTril (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isTriu" c_casadi__DMatrix__isTriu
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isTriu
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isTriu errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isTriu :: DMatrixClass a => a -> IO Bool
-dmatrix_isTriu x = casadi__DMatrix__isTriu (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isVector" c_casadi__DMatrix__isVector
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isVector
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isVector x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isVector errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isVector :: DMatrixClass a => a -> IO Bool
-dmatrix_isVector x = casadi__DMatrix__isVector (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__isZero" c_casadi__DMatrix__isZero
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__isZero
-  :: DMatrix -> IO Bool
-casadi__DMatrix__isZero x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__isZero errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_isZero :: DMatrixClass a => a -> IO Bool
-dmatrix_isZero x = casadi__DMatrix__isZero (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__log" c_casadi__DMatrix__log
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__log
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__log x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__log errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_log :: DMatrixClass a => a -> IO DMatrix
-dmatrix_log x = casadi__DMatrix__log (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__log10" c_casadi__DMatrix__log10
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__log10
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__log10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__log10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_log10 :: DMatrixClass a => a -> IO DMatrix
-dmatrix_log10 x = casadi__DMatrix__log10 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__logic_and" c_casadi__DMatrix__logic_and
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__logic_and
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__logic_and errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_logic_and :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_logic_and x = casadi__DMatrix__logic_and (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__logic_not" c_casadi__DMatrix__logic_not
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__logic_not
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__logic_not errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_logic_not :: DMatrixClass a => a -> IO DMatrix
-dmatrix_logic_not x = casadi__DMatrix__logic_not (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__logic_or" c_casadi__DMatrix__logic_or
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__logic_or
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__logic_or errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_logic_or :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_logic_or x = casadi__DMatrix__logic_or (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__matrix_matrix" c_casadi__DMatrix__matrix_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__matrix_matrix
-  :: Int -> DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__matrix_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__matrix_matrix errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_matrix_matrix :: Int -> DMatrix -> DMatrix -> IO DMatrix
-dmatrix_matrix_matrix = casadi__DMatrix__matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__matrix_scalar" c_casadi__DMatrix__matrix_scalar
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__matrix_scalar
-  :: Int -> DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__matrix_scalar x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__matrix_scalar errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_matrix_scalar :: Int -> DMatrix -> DMatrix -> IO DMatrix
-dmatrix_matrix_scalar = casadi__DMatrix__matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul__0" c_casadi__DMatrix__mul__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__mul__0
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__mul__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul__0 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_mul__0 x = casadi__DMatrix__mul__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul__1" c_casadi__DMatrix__mul__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__mul__1
-  :: DMatrix -> DMatrix -> Sparsity -> IO DMatrix
-casadi__DMatrix__mul__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul__1 :: DMatrixClass a => a -> DMatrix -> Sparsity -> IO DMatrix
-dmatrix_mul__1 x = casadi__DMatrix__mul__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_full__0" c_casadi__DMatrix__mul_full__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__mul_full__0
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__mul_full__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_full__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_full__0 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_mul_full__0 x = casadi__DMatrix__mul_full__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_full__1" c_casadi__DMatrix__mul_full__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__mul_full__1
-  :: DMatrix -> DMatrix -> Sparsity -> IO DMatrix
-casadi__DMatrix__mul_full__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_full__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_full__1 :: DMatrixClass a => a -> DMatrix -> Sparsity -> IO DMatrix
-dmatrix_mul_full__1 x = casadi__DMatrix__mul_full__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_nn__0" c_casadi__DMatrix__mul_no_alloc_nn__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> IO ()
-casadi__DMatrix__mul_no_alloc_nn__0
-  :: DMatrix -> Vector Double -> Vector Double -> IO ()
-casadi__DMatrix__mul_no_alloc_nn__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_no_alloc_nn__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_no_alloc_nn__0 :: DMatrix -> Vector Double -> Vector Double -> IO ()
-dmatrix_mul_no_alloc_nn__0 = casadi__DMatrix__mul_no_alloc_nn__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_nn__1" c_casadi__DMatrix__mul_no_alloc_nn__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> IO ()
-casadi__DMatrix__mul_no_alloc_nn__1
-  :: DMatrix -> DMatrix -> DMatrix -> Vector Double -> IO ()
-casadi__DMatrix__mul_no_alloc_nn__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_no_alloc_nn__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_no_alloc_nn__1 :: DMatrix -> DMatrix -> DMatrix -> Vector Double -> IO ()
-dmatrix_mul_no_alloc_nn__1 = casadi__DMatrix__mul_no_alloc_nn__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_nn__2" c_casadi__DMatrix__mul_no_alloc_nn__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__mul_no_alloc_nn__2
-  :: DMatrix -> DMatrix -> DMatrix -> IO ()
-casadi__DMatrix__mul_no_alloc_nn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_no_alloc_nn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_no_alloc_nn__2 :: DMatrix -> DMatrix -> DMatrix -> IO ()
-dmatrix_mul_no_alloc_nn__2 = casadi__DMatrix__mul_no_alloc_nn__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_nt" c_casadi__DMatrix__mul_no_alloc_nt
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__mul_no_alloc_nt
-  :: DMatrix -> DMatrix -> DMatrix -> IO ()
-casadi__DMatrix__mul_no_alloc_nt x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_no_alloc_nt errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_no_alloc_nt :: DMatrix -> DMatrix -> DMatrix -> IO ()
-dmatrix_mul_no_alloc_nt = casadi__DMatrix__mul_no_alloc_nt
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_tn__0" c_casadi__DMatrix__mul_no_alloc_tn__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> IO ()
-casadi__DMatrix__mul_no_alloc_tn__0
-  :: DMatrix -> Vector Double -> Vector Double -> IO ()
-casadi__DMatrix__mul_no_alloc_tn__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_no_alloc_tn__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_no_alloc_tn__0 :: DMatrix -> Vector Double -> Vector Double -> IO ()
-dmatrix_mul_no_alloc_tn__0 = casadi__DMatrix__mul_no_alloc_tn__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_tn__1" c_casadi__DMatrix__mul_no_alloc_tn__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__mul_no_alloc_tn__1
-  :: DMatrix -> DMatrix -> DMatrix -> IO ()
-casadi__DMatrix__mul_no_alloc_tn__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_no_alloc_tn__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_no_alloc_tn__1 :: DMatrix -> DMatrix -> DMatrix -> IO ()
-dmatrix_mul_no_alloc_tn__1 = casadi__DMatrix__mul_no_alloc_tn__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__mul_smart" c_casadi__DMatrix__mul_smart
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__mul_smart
-  :: DMatrix -> DMatrix -> Sparsity -> IO DMatrix
-casadi__DMatrix__mul_smart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__mul_smart errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_mul_smart :: DMatrixClass a => a -> DMatrix -> Sparsity -> IO DMatrix
-dmatrix_mul_smart x = casadi__DMatrix__mul_smart (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nan__0" c_casadi__DMatrix__nan__0
-  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
-casadi__DMatrix__nan__0
-  :: IO DMatrix
-casadi__DMatrix__nan__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nan__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nan__0 :: IO DMatrix
-dmatrix_nan__0 = casadi__DMatrix__nan__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nan__1" c_casadi__DMatrix__nan__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__nan__1
-  :: Int -> IO DMatrix
-casadi__DMatrix__nan__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nan__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nan__1 :: Int -> IO DMatrix
-dmatrix_nan__1 = casadi__DMatrix__nan__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nan__2" c_casadi__DMatrix__nan__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__nan__2
-  :: Int -> Int -> IO DMatrix
-casadi__DMatrix__nan__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nan__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nan__2 :: Int -> Int -> IO DMatrix
-dmatrix_nan__2 = casadi__DMatrix__nan__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nan__3" c_casadi__DMatrix__nan__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__nan__3
-  :: Sparsity -> IO DMatrix
-casadi__DMatrix__nan__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nan__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nan__3 :: Sparsity -> IO DMatrix
-dmatrix_nan__3 = casadi__DMatrix__nan__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__numel" c_casadi__DMatrix__numel
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__numel
-  :: DMatrix -> IO Int
-casadi__DMatrix__numel x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__numel errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_numel :: DMatrixClass a => a -> IO Int
-dmatrix_numel x = casadi__DMatrix__numel (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed" c_casadi__DMatrix__nz_indexed
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__nz_indexed
-  :: DMatrix -> Slice -> IO DMatrix
-casadi__DMatrix__nz_indexed x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed :: DMatrixClass a => a -> Slice -> IO DMatrix
-dmatrix_nz_indexed x = casadi__DMatrix__nz_indexed (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_assignment" c_casadi__DMatrix__nz_indexed_assignment
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__nz_indexed_assignment
-  :: DMatrix -> Slice -> DMatrix -> IO ()
-casadi__DMatrix__nz_indexed_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_assignment errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_assignment :: DMatrixClass a => a -> Slice -> DMatrix -> IO ()
-dmatrix_nz_indexed_assignment x = casadi__DMatrix__nz_indexed_assignment (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_one_based__0" c_casadi__DMatrix__nz_indexed_one_based__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__nz_indexed_one_based__0
-  :: DMatrix -> IMatrix -> IO DMatrix
-casadi__DMatrix__nz_indexed_one_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_one_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_one_based__0 :: DMatrixClass a => a -> IMatrix -> IO DMatrix
-dmatrix_nz_indexed_one_based__0 x = casadi__DMatrix__nz_indexed_one_based__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_one_based__1" c_casadi__DMatrix__nz_indexed_one_based__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__nz_indexed_one_based__1
-  :: DMatrix -> Int -> IO DMatrix
-casadi__DMatrix__nz_indexed_one_based__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_one_based__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_one_based__1 :: DMatrixClass a => a -> Int -> IO DMatrix
-dmatrix_nz_indexed_one_based__1 x = casadi__DMatrix__nz_indexed_one_based__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_one_based_assignment__0" c_casadi__DMatrix__nz_indexed_one_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__nz_indexed_one_based_assignment__0
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casadi__DMatrix__nz_indexed_one_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_one_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_one_based_assignment__0 :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_nz_indexed_one_based_assignment__0 x = casadi__DMatrix__nz_indexed_one_based_assignment__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_one_based_assignment__1" c_casadi__DMatrix__nz_indexed_one_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CDouble -> IO ()
-casadi__DMatrix__nz_indexed_one_based_assignment__1
-  :: DMatrix -> Int -> Double -> IO ()
-casadi__DMatrix__nz_indexed_one_based_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_one_based_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_one_based_assignment__1 :: DMatrixClass a => a -> Int -> Double -> IO ()
-dmatrix_nz_indexed_one_based_assignment__1 x = casadi__DMatrix__nz_indexed_one_based_assignment__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_zero_based__0" c_casadi__DMatrix__nz_indexed_zero_based__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__nz_indexed_zero_based__0
-  :: DMatrix -> IMatrix -> IO DMatrix
-casadi__DMatrix__nz_indexed_zero_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_zero_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_zero_based__0 :: DMatrixClass a => a -> IMatrix -> IO DMatrix
-dmatrix_nz_indexed_zero_based__0 x = casadi__DMatrix__nz_indexed_zero_based__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_zero_based__1" c_casadi__DMatrix__nz_indexed_zero_based__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__nz_indexed_zero_based__1
-  :: DMatrix -> Int -> IO DMatrix
-casadi__DMatrix__nz_indexed_zero_based__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_zero_based__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_zero_based__1 :: DMatrixClass a => a -> Int -> IO DMatrix
-dmatrix_nz_indexed_zero_based__1 x = casadi__DMatrix__nz_indexed_zero_based__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_zero_based_assignment__0" c_casadi__DMatrix__nz_indexed_zero_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__nz_indexed_zero_based_assignment__0
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casadi__DMatrix__nz_indexed_zero_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_zero_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_zero_based_assignment__0 :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_nz_indexed_zero_based_assignment__0 x = casadi__DMatrix__nz_indexed_zero_based_assignment__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__nz_indexed_zero_based_assignment__1" c_casadi__DMatrix__nz_indexed_zero_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CDouble -> IO ()
-casadi__DMatrix__nz_indexed_zero_based_assignment__1
-  :: DMatrix -> Int -> Double -> IO ()
-casadi__DMatrix__nz_indexed_zero_based_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__nz_indexed_zero_based_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_nz_indexed_zero_based_assignment__1 :: DMatrixClass a => a -> Int -> Double -> IO ()
-dmatrix_nz_indexed_zero_based_assignment__1 x = casadi__DMatrix__nz_indexed_zero_based_assignment__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__ones__0" c_casadi__DMatrix__ones__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__ones__0
-  :: Sparsity -> IO DMatrix
-casadi__DMatrix__ones__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__ones__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_ones__0 :: Sparsity -> IO DMatrix
-dmatrix_ones__0 = casadi__DMatrix__ones__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__ones__1" c_casadi__DMatrix__ones__1
-  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
-casadi__DMatrix__ones__1
-  :: IO DMatrix
-casadi__DMatrix__ones__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__ones__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_ones__1 :: IO DMatrix
-dmatrix_ones__1 = casadi__DMatrix__ones__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__ones__2" c_casadi__DMatrix__ones__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__ones__2
-  :: Int -> IO DMatrix
-casadi__DMatrix__ones__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__ones__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_ones__2 :: Int -> IO DMatrix
-dmatrix_ones__2 = casadi__DMatrix__ones__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__ones__3" c_casadi__DMatrix__ones__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__ones__3
-  :: Int -> Int -> IO DMatrix
-casadi__DMatrix__ones__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__ones__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_ones__3 :: Int -> Int -> IO DMatrix
-dmatrix_ones__3 = casadi__DMatrix__ones__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__printDense" c_casadi__DMatrix__printDense
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__printDense
-  :: DMatrix -> IO ()
-casadi__DMatrix__printDense x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__printDense errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_printDense :: DMatrixClass a => a -> IO ()
-dmatrix_printDense x = casadi__DMatrix__printDense (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__printScalar" c_casadi__DMatrix__printScalar
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__printScalar
-  :: DMatrix -> IO ()
-casadi__DMatrix__printScalar x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__printScalar errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_printScalar :: DMatrixClass a => a -> IO ()
-dmatrix_printScalar x = casadi__DMatrix__printScalar (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__printSparse" c_casadi__DMatrix__printSparse
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__printSparse
-  :: DMatrix -> IO ()
-casadi__DMatrix__printSparse x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__printSparse errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_printSparse :: DMatrixClass a => a -> IO ()
-dmatrix_printSparse x = casadi__DMatrix__printSparse (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__printVector" c_casadi__DMatrix__printVector
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__printVector
-  :: DMatrix -> IO ()
-casadi__DMatrix__printVector x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__printVector errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_printVector :: DMatrixClass a => a -> IO ()
-dmatrix_printVector x = casadi__DMatrix__printVector (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__printme" c_casadi__DMatrix__printme
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__printme
-  :: DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__printme errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_printme :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_printme x = casadi__DMatrix__printme (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__quad_form" c_casadi__DMatrix__quad_form
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> Ptr DMatrix' -> IO CDouble
-casadi__DMatrix__quad_form
-  :: Vector Double -> DMatrix -> IO Double
-casadi__DMatrix__quad_form x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__quad_form errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_quad_form :: Vector Double -> DMatrix -> IO Double
-dmatrix_quad_form = casadi__DMatrix__quad_form
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__remove" c_casadi__DMatrix__remove
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__DMatrix__remove
-  :: DMatrix -> Vector Int -> Vector Int -> IO ()
-casadi__DMatrix__remove x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__remove errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_remove :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
-dmatrix_remove x = casadi__DMatrix__remove (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__repmat__0" c_casadi__DMatrix__repmat__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__repmat__0
-  :: DMatrix -> Int -> IO DMatrix
-casadi__DMatrix__repmat__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__repmat__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_repmat__0 :: DMatrix -> Int -> IO DMatrix
-dmatrix_repmat__0 = casadi__DMatrix__repmat__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__repmat__1" c_casadi__DMatrix__repmat__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__repmat__1
-  :: DMatrix -> Int -> Int -> IO DMatrix
-casadi__DMatrix__repmat__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__repmat__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_repmat__1 :: DMatrix -> Int -> Int -> IO DMatrix
-dmatrix_repmat__1 = casadi__DMatrix__repmat__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__repmat__2" c_casadi__DMatrix__repmat__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__repmat__2
-  :: DMatrix -> Sparsity -> IO DMatrix
-casadi__DMatrix__repmat__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__repmat__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_repmat__2 :: DMatrix -> Sparsity -> IO DMatrix
-dmatrix_repmat__2 = casadi__DMatrix__repmat__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__repmat__3" c_casadi__DMatrix__repmat__3
-  :: Ptr (Ptr StdString) -> CDouble -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__repmat__3
-  :: Double -> Sparsity -> IO DMatrix
-casadi__DMatrix__repmat__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__repmat__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_repmat__3 :: Double -> Sparsity -> IO DMatrix
-dmatrix_repmat__3 = casadi__DMatrix__repmat__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__reserve__0" c_casadi__DMatrix__reserve__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO ()
-casadi__DMatrix__reserve__0
-  :: DMatrix -> Int -> Int -> IO ()
-casadi__DMatrix__reserve__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__reserve__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_reserve__0 :: DMatrixClass a => a -> Int -> Int -> IO ()
-dmatrix_reserve__0 x = casadi__DMatrix__reserve__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__reserve__1" c_casadi__DMatrix__reserve__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO ()
-casadi__DMatrix__reserve__1
-  :: DMatrix -> Int -> IO ()
-casadi__DMatrix__reserve__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__reserve__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_reserve__1 :: DMatrixClass a => a -> Int -> IO ()
-dmatrix_reserve__1 x = casadi__DMatrix__reserve__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__resize" c_casadi__DMatrix__resize
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO ()
-casadi__DMatrix__resize
-  :: DMatrix -> Int -> Int -> IO ()
-casadi__DMatrix__resize x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__resize errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_resize :: DMatrixClass a => a -> Int -> Int -> IO ()
-dmatrix_resize x = casadi__DMatrix__resize (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__row__0" c_casadi__DMatrix__row__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
-casadi__DMatrix__row__0
-  :: DMatrix -> Int -> IO Int
-casadi__DMatrix__row__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__row__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_row__0 :: DMatrixClass a => a -> Int -> IO Int
-dmatrix_row__0 x = casadi__DMatrix__row__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__row__1" c_casadi__DMatrix__row__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec CInt))
-casadi__DMatrix__row__1
-  :: DMatrix -> IO (Vector Int)
-casadi__DMatrix__row__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__row__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_row__1 :: DMatrixClass a => a -> IO (Vector Int)
-dmatrix_row__1 x = casadi__DMatrix__row__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sanityCheck__0" c_casadi__DMatrix__sanityCheck__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__sanityCheck__0
-  :: DMatrix -> IO ()
-casadi__DMatrix__sanityCheck__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sanityCheck__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sanityCheck__0 :: DMatrixClass a => a -> IO ()
-dmatrix_sanityCheck__0 x = casadi__DMatrix__sanityCheck__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sanityCheck__1" c_casadi__DMatrix__sanityCheck__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO ()
-casadi__DMatrix__sanityCheck__1
-  :: DMatrix -> Bool -> IO ()
-casadi__DMatrix__sanityCheck__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sanityCheck__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sanityCheck__1 :: DMatrixClass a => a -> Bool -> IO ()
-dmatrix_sanityCheck__1 x = casadi__DMatrix__sanityCheck__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__scalar_matrix" c_casadi__DMatrix__scalar_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__scalar_matrix
-  :: Int -> DMatrix -> DMatrix -> IO DMatrix
-casadi__DMatrix__scalar_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__scalar_matrix errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_scalar_matrix :: Int -> DMatrix -> DMatrix -> IO DMatrix
-dmatrix_scalar_matrix = casadi__DMatrix__scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__set__0" c_casadi__DMatrix__set__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__set__0
-  :: DMatrix -> DMatrix -> IO ()
-casadi__DMatrix__set__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__set__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_set__0 :: DMatrixClass a => a -> DMatrix -> IO ()
-dmatrix_set__0 x = casadi__DMatrix__set__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__set__1" c_casadi__DMatrix__set__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO ()
-casadi__DMatrix__set__1
-  :: DMatrix -> DMatrix -> SparsityType -> IO ()
-casadi__DMatrix__set__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__set__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_set__1 :: DMatrixClass a => a -> DMatrix -> SparsityType -> IO ()
-dmatrix_set__1 x = casadi__DMatrix__set__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__set__2" c_casadi__DMatrix__set__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> IO ()
-casadi__DMatrix__set__2
-  :: DMatrix -> Vector Double -> IO ()
-casadi__DMatrix__set__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__set__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_set__2 :: DMatrixClass a => a -> Vector Double -> IO ()
-dmatrix_set__2 x = casadi__DMatrix__set__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__set__3" c_casadi__DMatrix__set__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> CInt -> IO ()
-casadi__DMatrix__set__3
-  :: DMatrix -> Vector Double -> SparsityType -> IO ()
-casadi__DMatrix__set__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__set__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_set__3 :: DMatrixClass a => a -> Vector Double -> SparsityType -> IO ()
-dmatrix_set__3 x = casadi__DMatrix__set__3 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__set__4" c_casadi__DMatrix__set__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
-casadi__DMatrix__set__4
-  :: DMatrix -> Double -> IO ()
-casadi__DMatrix__set__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__set__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_set__4 :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_set__4 x = casadi__DMatrix__set__4 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__set__5" c_casadi__DMatrix__set__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> CInt -> IO ()
-casadi__DMatrix__set__5
-  :: DMatrix -> Double -> SparsityType -> IO ()
-casadi__DMatrix__set__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__set__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_set__5 :: DMatrixClass a => a -> Double -> SparsityType -> IO ()
-dmatrix_set__5 x = casadi__DMatrix__set__5 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setAll" c_casadi__DMatrix__setAll
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
-casadi__DMatrix__setAll
-  :: DMatrix -> Double -> IO ()
-casadi__DMatrix__setAll x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setAll errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setAll :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_setAll x = casadi__DMatrix__setAll (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setEqualityCheckingDepth__0" c_casadi__DMatrix__setEqualityCheckingDepth__0
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__DMatrix__setEqualityCheckingDepth__0
-  :: IO ()
-casadi__DMatrix__setEqualityCheckingDepth__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setEqualityCheckingDepth__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setEqualityCheckingDepth__0 :: IO ()
-dmatrix_setEqualityCheckingDepth__0 = casadi__DMatrix__setEqualityCheckingDepth__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setEqualityCheckingDepth__1" c_casadi__DMatrix__setEqualityCheckingDepth__1
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__DMatrix__setEqualityCheckingDepth__1
-  :: Int -> IO ()
-casadi__DMatrix__setEqualityCheckingDepth__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setEqualityCheckingDepth__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setEqualityCheckingDepth__1 :: Int -> IO ()
-dmatrix_setEqualityCheckingDepth__1 = casadi__DMatrix__setEqualityCheckingDepth__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setMaxNumCallsInPrint__0" c_casadi__DMatrix__setMaxNumCallsInPrint__0
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__DMatrix__setMaxNumCallsInPrint__0
-  :: IO ()
-casadi__DMatrix__setMaxNumCallsInPrint__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setMaxNumCallsInPrint__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setMaxNumCallsInPrint__0 :: IO ()
-dmatrix_setMaxNumCallsInPrint__0 = casadi__DMatrix__setMaxNumCallsInPrint__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setMaxNumCallsInPrint__1" c_casadi__DMatrix__setMaxNumCallsInPrint__1
-  :: Ptr (Ptr StdString) -> CLong -> IO ()
-casadi__DMatrix__setMaxNumCallsInPrint__1
-  :: Int -> IO ()
-casadi__DMatrix__setMaxNumCallsInPrint__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setMaxNumCallsInPrint__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setMaxNumCallsInPrint__1 :: Int -> IO ()
-dmatrix_setMaxNumCallsInPrint__1 = casadi__DMatrix__setMaxNumCallsInPrint__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setNZ__0" c_casadi__DMatrix__setNZ__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__setNZ__0
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casadi__DMatrix__setNZ__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setNZ__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setNZ__0 :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_setNZ__0 x = casadi__DMatrix__setNZ__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setNZ__1" c_casadi__DMatrix__setNZ__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__setNZ__1
-  :: DMatrix -> Slice -> DMatrix -> IO ()
-casadi__DMatrix__setNZ__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setNZ__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setNZ__1 :: DMatrixClass a => a -> Slice -> DMatrix -> IO ()
-dmatrix_setNZ__1 x = casadi__DMatrix__setNZ__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setNZ__2" c_casadi__DMatrix__setNZ__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__setNZ__2
-  :: DMatrix -> Vector Int -> DMatrix -> IO ()
-casadi__DMatrix__setNZ__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setNZ__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setNZ__2 :: DMatrixClass a => a -> Vector Int -> DMatrix -> IO ()
-dmatrix_setNZ__2 x = casadi__DMatrix__setNZ__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setNZ__3" c_casadi__DMatrix__setNZ__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__setNZ__3
-  :: DMatrix -> Int -> DMatrix -> IO ()
-casadi__DMatrix__setNZ__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setNZ__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setNZ__3 :: DMatrixClass a => a -> Int -> DMatrix -> IO ()
-dmatrix_setNZ__3 x = casadi__DMatrix__setNZ__3 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setPrecision" c_casadi__DMatrix__setPrecision
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__DMatrix__setPrecision
-  :: Int -> IO ()
-casadi__DMatrix__setPrecision x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setPrecision errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setPrecision :: Int -> IO ()
-dmatrix_setPrecision = casadi__DMatrix__setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setScientific" c_casadi__DMatrix__setScientific
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__DMatrix__setScientific
-  :: Bool -> IO ()
-casadi__DMatrix__setScientific x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setScientific errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setScientific :: Bool -> IO ()
-dmatrix_setScientific = casadi__DMatrix__setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSparse__0" c_casadi__DMatrix__setSparse__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__setSparse__0
-  :: DMatrix -> Sparsity -> IO DMatrix
-casadi__DMatrix__setSparse__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSparse__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSparse__0 :: DMatrixClass a => a -> Sparsity -> IO DMatrix
-dmatrix_setSparse__0 x = casadi__DMatrix__setSparse__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSparse__1" c_casadi__DMatrix__setSparse__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__setSparse__1
-  :: DMatrix -> Sparsity -> Bool -> IO DMatrix
-casadi__DMatrix__setSparse__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSparse__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSparse__1 :: DMatrixClass a => a -> Sparsity -> Bool -> IO DMatrix
-dmatrix_setSparse__1 x = casadi__DMatrix__setSparse__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__0" c_casadi__DMatrix__setSub__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> CInt -> IO ()
-casadi__DMatrix__setSub__0
-  :: DMatrix -> DMatrix -> Sparsity -> Int -> IO ()
-casadi__DMatrix__setSub__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__0 :: DMatrixClass a => a -> DMatrix -> Sparsity -> Int -> IO ()
-dmatrix_setSub__0 x = casadi__DMatrix__setSub__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__1" c_casadi__DMatrix__setSub__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr Slice' -> IO ()
-casadi__DMatrix__setSub__1
-  :: DMatrix -> DMatrix -> Int -> Slice -> IO ()
-casadi__DMatrix__setSub__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__1 :: DMatrixClass a => a -> DMatrix -> Int -> Slice -> IO ()
-dmatrix_setSub__1 x = casadi__DMatrix__setSub__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__2" c_casadi__DMatrix__setSub__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Slice' -> CInt -> IO ()
-casadi__DMatrix__setSub__2
-  :: DMatrix -> DMatrix -> Slice -> Int -> IO ()
-casadi__DMatrix__setSub__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__2 :: DMatrixClass a => a -> DMatrix -> Slice -> Int -> IO ()
-dmatrix_setSub__2 x = casadi__DMatrix__setSub__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__3" c_casadi__DMatrix__setSub__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__DMatrix__setSub__3
-  :: DMatrix -> DMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__DMatrix__setSub__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__3 :: DMatrixClass a => a -> DMatrix -> IMatrix -> IMatrix -> IO ()
-dmatrix_setSub__3 x = casadi__DMatrix__setSub__3 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__4" c_casadi__DMatrix__setSub__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casadi__DMatrix__setSub__4
-  :: DMatrix -> DMatrix -> Slice -> IMatrix -> IO ()
-casadi__DMatrix__setSub__4 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__4 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__4 :: DMatrixClass a => a -> DMatrix -> Slice -> IMatrix -> IO ()
-dmatrix_setSub__4 x = casadi__DMatrix__setSub__4 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__5" c_casadi__DMatrix__setSub__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr Slice' -> IO ()
-casadi__DMatrix__setSub__5
-  :: DMatrix -> DMatrix -> IMatrix -> Slice -> IO ()
-casadi__DMatrix__setSub__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__5 :: DMatrixClass a => a -> DMatrix -> IMatrix -> Slice -> IO ()
-dmatrix_setSub__5 x = casadi__DMatrix__setSub__5 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__6" c_casadi__DMatrix__setSub__6
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> IO ()
-casadi__DMatrix__setSub__6
-  :: DMatrix -> DMatrix -> Int -> IMatrix -> IO ()
-casadi__DMatrix__setSub__6 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__6 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__6 :: DMatrixClass a => a -> DMatrix -> Int -> IMatrix -> IO ()
-dmatrix_setSub__6 x = casadi__DMatrix__setSub__6 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__7" c_casadi__DMatrix__setSub__7
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO ()
-casadi__DMatrix__setSub__7
-  :: DMatrix -> DMatrix -> Vector Int -> IMatrix -> IO ()
-casadi__DMatrix__setSub__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__7 :: DMatrixClass a => a -> DMatrix -> Vector Int -> IMatrix -> IO ()
-dmatrix_setSub__7 x = casadi__DMatrix__setSub__7 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__8" c_casadi__DMatrix__setSub__8
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr IMatrix' -> CInt -> IO ()
-casadi__DMatrix__setSub__8
-  :: DMatrix -> DMatrix -> IMatrix -> Int -> IO ()
-casadi__DMatrix__setSub__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__8 :: DMatrixClass a => a -> DMatrix -> IMatrix -> Int -> IO ()
-dmatrix_setSub__8 x = casadi__DMatrix__setSub__8 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__9" c_casadi__DMatrix__setSub__9
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
-casadi__DMatrix__setSub__9
-  :: DMatrix -> DMatrix -> IMatrix -> Vector Int -> IO ()
-casadi__DMatrix__setSub__9 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__9 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__9 :: DMatrixClass a => a -> DMatrix -> IMatrix -> Vector Int -> IO ()
-dmatrix_setSub__9 x = casadi__DMatrix__setSub__9 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__10" c_casadi__DMatrix__setSub__10
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Slice' -> Ptr Slice' -> IO ()
-casadi__DMatrix__setSub__10
-  :: DMatrix -> DMatrix -> Slice -> Slice -> IO ()
-casadi__DMatrix__setSub__10 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__10 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__10 :: DMatrixClass a => a -> DMatrix -> Slice -> Slice -> IO ()
-dmatrix_setSub__10 x = casadi__DMatrix__setSub__10 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__11" c_casadi__DMatrix__setSub__11
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr Slice' -> IO ()
-casadi__DMatrix__setSub__11
-  :: DMatrix -> DMatrix -> Vector Int -> Slice -> IO ()
-casadi__DMatrix__setSub__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__11 :: DMatrixClass a => a -> DMatrix -> Vector Int -> Slice -> IO ()
-dmatrix_setSub__11 x = casadi__DMatrix__setSub__11 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__12" c_casadi__DMatrix__setSub__12
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Slice' -> Ptr (StdVec CInt) -> IO ()
-casadi__DMatrix__setSub__12
-  :: DMatrix -> DMatrix -> Slice -> Vector Int -> IO ()
-casadi__DMatrix__setSub__12 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__12 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__12 :: DMatrixClass a => a -> DMatrix -> Slice -> Vector Int -> IO ()
-dmatrix_setSub__12 x = casadi__DMatrix__setSub__12 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__13" c_casadi__DMatrix__setSub__13
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__DMatrix__setSub__13
-  :: DMatrix -> DMatrix -> Vector Int -> Vector Int -> IO ()
-casadi__DMatrix__setSub__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__13 :: DMatrixClass a => a -> DMatrix -> Vector Int -> Vector Int -> IO ()
-dmatrix_setSub__13 x = casadi__DMatrix__setSub__13 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__14" c_casadi__DMatrix__setSub__14
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr (StdVec CInt) -> IO ()
-casadi__DMatrix__setSub__14
-  :: DMatrix -> DMatrix -> Int -> Vector Int -> IO ()
-casadi__DMatrix__setSub__14 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__14 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__14 :: DMatrixClass a => a -> DMatrix -> Int -> Vector Int -> IO ()
-dmatrix_setSub__14 x = casadi__DMatrix__setSub__14 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__15" c_casadi__DMatrix__setSub__15
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
-casadi__DMatrix__setSub__15
-  :: DMatrix -> DMatrix -> Vector Int -> Int -> IO ()
-casadi__DMatrix__setSub__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__15 :: DMatrixClass a => a -> DMatrix -> Vector Int -> Int -> IO ()
-dmatrix_setSub__15 x = casadi__DMatrix__setSub__15 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setSub__16" c_casadi__DMatrix__setSub__16
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> CInt -> IO ()
-casadi__DMatrix__setSub__16
-  :: DMatrix -> DMatrix -> Int -> Int -> IO ()
-casadi__DMatrix__setSub__16 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setSub__16 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setSub__16 :: DMatrixClass a => a -> DMatrix -> Int -> Int -> IO ()
-dmatrix_setSub__16 x = casadi__DMatrix__setSub__16 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setWidth" c_casadi__DMatrix__setWidth
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__DMatrix__setWidth
-  :: Int -> IO ()
-casadi__DMatrix__setWidth x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setWidth errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setWidth :: Int -> IO ()
-dmatrix_setWidth = casadi__DMatrix__setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__setZero" c_casadi__DMatrix__setZero
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__setZero
-  :: DMatrix -> IO ()
-casadi__DMatrix__setZero x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__setZero errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_setZero :: DMatrixClass a => a -> IO ()
-dmatrix_setZero x = casadi__DMatrix__setZero (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sign" c_casadi__DMatrix__sign
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__sign
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__sign x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sign errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sign :: DMatrixClass a => a -> IO DMatrix
-dmatrix_sign x = casadi__DMatrix__sign (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sin" c_casadi__DMatrix__sin
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__sin
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__sin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sin :: DMatrixClass a => a -> IO DMatrix
-dmatrix_sin x = casadi__DMatrix__sin (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sinh" c_casadi__DMatrix__sinh
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__sinh
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__sinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sinh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_sinh x = casadi__DMatrix__sinh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__size__0" c_casadi__DMatrix__size__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
-casadi__DMatrix__size__0
-  :: DMatrix -> SparsityType -> IO Int
-casadi__DMatrix__size__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__size__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_size__0 :: DMatrixClass a => a -> SparsityType -> IO Int
-dmatrix_size__0 x = casadi__DMatrix__size__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__size__1" c_casadi__DMatrix__size__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__size__1
-  :: DMatrix -> IO Int
-casadi__DMatrix__size__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__size__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_size__1 :: DMatrixClass a => a -> IO Int
-dmatrix_size__1 x = casadi__DMatrix__size__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__size1" c_casadi__DMatrix__size1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__size1
-  :: DMatrix -> IO Int
-casadi__DMatrix__size1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__size1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_size1 :: DMatrixClass a => a -> IO Int
-dmatrix_size1 x = casadi__DMatrix__size1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__size2" c_casadi__DMatrix__size2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__size2
-  :: DMatrix -> IO Int
-casadi__DMatrix__size2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__size2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_size2 :: DMatrixClass a => a -> IO Int
-dmatrix_size2 x = casadi__DMatrix__size2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sizeD" c_casadi__DMatrix__sizeD
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__sizeD
-  :: DMatrix -> IO Int
-casadi__DMatrix__sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sizeD errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sizeD :: DMatrixClass a => a -> IO Int
-dmatrix_sizeD x = casadi__DMatrix__sizeD (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sizeL" c_casadi__DMatrix__sizeL
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__sizeL
-  :: DMatrix -> IO Int
-casadi__DMatrix__sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sizeL errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sizeL :: DMatrixClass a => a -> IO Int
-dmatrix_sizeL x = casadi__DMatrix__sizeL (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sizeU" c_casadi__DMatrix__sizeU
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-casadi__DMatrix__sizeU
-  :: DMatrix -> IO Int
-casadi__DMatrix__sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sizeU errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sizeU :: DMatrixClass a => a -> IO Int
-dmatrix_sizeU x = casadi__DMatrix__sizeU (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparse__0" c_casadi__DMatrix__sparse__0
-  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
-casadi__DMatrix__sparse__0
-  :: IO DMatrix
-casadi__DMatrix__sparse__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparse__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparse__0 :: IO DMatrix
-dmatrix_sparse__0 = casadi__DMatrix__sparse__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparse__1" c_casadi__DMatrix__sparse__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sparse__1
-  :: Int -> IO DMatrix
-casadi__DMatrix__sparse__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparse__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparse__1 :: Int -> IO DMatrix
-dmatrix_sparse__1 = casadi__DMatrix__sparse__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparse__2" c_casadi__DMatrix__sparse__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sparse__2
-  :: Int -> Int -> IO DMatrix
-casadi__DMatrix__sparse__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparse__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparse__2 :: Int -> Int -> IO DMatrix
-dmatrix_sparse__2 = casadi__DMatrix__sparse__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparsify__0" c_casadi__DMatrix__sparsify__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
-casadi__DMatrix__sparsify__0
-  :: DMatrix -> IO ()
-casadi__DMatrix__sparsify__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparsify__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparsify__0 :: DMatrixClass a => a -> IO ()
-dmatrix_sparsify__0 x = casadi__DMatrix__sparsify__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparsify__1" c_casadi__DMatrix__sparsify__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
-casadi__DMatrix__sparsify__1
-  :: DMatrix -> Double -> IO ()
-casadi__DMatrix__sparsify__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparsify__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparsify__1 :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_sparsify__1 x = casadi__DMatrix__sparsify__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparsity__0" c_casadi__DMatrix__sparsity__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Sparsity')
-casadi__DMatrix__sparsity__0
-  :: DMatrix -> IO Sparsity
-casadi__DMatrix__sparsity__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparsity__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparsity__0 :: DMatrixClass a => a -> IO Sparsity
-dmatrix_sparsity__0 x = casadi__DMatrix__sparsity__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparsity__1" c_casadi__DMatrix__sparsity__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Sparsity')
-casadi__DMatrix__sparsity__1
-  :: DMatrix -> IO Sparsity
-casadi__DMatrix__sparsity__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparsity__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparsity__1 :: DMatrixClass a => a -> IO Sparsity
-dmatrix_sparsity__1 x = casadi__DMatrix__sparsity__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparsityRef__0" c_casadi__DMatrix__sparsityRef__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Sparsity')
-casadi__DMatrix__sparsityRef__0
-  :: DMatrix -> IO Sparsity
-casadi__DMatrix__sparsityRef__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparsityRef__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparsityRef__0 :: DMatrixClass a => a -> IO Sparsity
-dmatrix_sparsityRef__0 x = casadi__DMatrix__sparsityRef__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sparsityRef__1" c_casadi__DMatrix__sparsityRef__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Sparsity')
-casadi__DMatrix__sparsityRef__1
-  :: DMatrix -> IO Sparsity
-casadi__DMatrix__sparsityRef__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sparsityRef__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sparsityRef__1 :: DMatrixClass a => a -> IO Sparsity
-dmatrix_sparsityRef__1 x = casadi__DMatrix__sparsityRef__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sqrt" c_casadi__DMatrix__sqrt
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__sqrt
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sqrt errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sqrt :: DMatrixClass a => a -> IO DMatrix
-dmatrix_sqrt x = casadi__DMatrix__sqrt (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__0" c_casadi__DMatrix__sub__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__0
-  :: DMatrix -> Sparsity -> IO DMatrix
-casadi__DMatrix__sub__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__0 :: DMatrixClass a => a -> Sparsity -> IO DMatrix
-dmatrix_sub__0 x = casadi__DMatrix__sub__0 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__1" c_casadi__DMatrix__sub__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__1
-  :: DMatrix -> Sparsity -> Int -> IO DMatrix
-casadi__DMatrix__sub__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__1 :: DMatrixClass a => a -> Sparsity -> Int -> IO DMatrix
-dmatrix_sub__1 x = casadi__DMatrix__sub__1 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__2" c_casadi__DMatrix__sub__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__2
-  :: DMatrix -> IMatrix -> IMatrix -> IO DMatrix
-casadi__DMatrix__sub__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__2 :: DMatrixClass a => a -> IMatrix -> IMatrix -> IO DMatrix
-dmatrix_sub__2 x = casadi__DMatrix__sub__2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__3" c_casadi__DMatrix__sub__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__3
-  :: DMatrix -> Slice -> IMatrix -> IO DMatrix
-casadi__DMatrix__sub__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__3 :: DMatrixClass a => a -> Slice -> IMatrix -> IO DMatrix
-dmatrix_sub__3 x = casadi__DMatrix__sub__3 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__4" c_casadi__DMatrix__sub__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__4
-  :: DMatrix -> IMatrix -> Slice -> IO DMatrix
-casadi__DMatrix__sub__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__4 :: DMatrixClass a => a -> IMatrix -> Slice -> IO DMatrix
-dmatrix_sub__4 x = casadi__DMatrix__sub__4 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__5" c_casadi__DMatrix__sub__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__5
-  :: DMatrix -> Int -> IMatrix -> IO DMatrix
-casadi__DMatrix__sub__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__5 :: DMatrixClass a => a -> Int -> IMatrix -> IO DMatrix
-dmatrix_sub__5 x = casadi__DMatrix__sub__5 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__6" c_casadi__DMatrix__sub__6
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__6
-  :: DMatrix -> Vector Int -> IMatrix -> IO DMatrix
-casadi__DMatrix__sub__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__6 :: DMatrixClass a => a -> Vector Int -> IMatrix -> IO DMatrix
-dmatrix_sub__6 x = casadi__DMatrix__sub__6 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__7" c_casadi__DMatrix__sub__7
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__7
-  :: DMatrix -> IMatrix -> Int -> IO DMatrix
-casadi__DMatrix__sub__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__7 :: DMatrixClass a => a -> IMatrix -> Int -> IO DMatrix
-dmatrix_sub__7 x = casadi__DMatrix__sub__7 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__8" c_casadi__DMatrix__sub__8
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__8
-  :: DMatrix -> IMatrix -> Vector Int -> IO DMatrix
-casadi__DMatrix__sub__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__8 :: DMatrixClass a => a -> IMatrix -> Vector Int -> IO DMatrix
-dmatrix_sub__8 x = casadi__DMatrix__sub__8 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__9" c_casadi__DMatrix__sub__9
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__9
-  :: DMatrix -> Int -> Slice -> IO DMatrix
-casadi__DMatrix__sub__9 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__9 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__9 :: DMatrixClass a => a -> Int -> Slice -> IO DMatrix
-dmatrix_sub__9 x = casadi__DMatrix__sub__9 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__10" c_casadi__DMatrix__sub__10
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__10
-  :: DMatrix -> Slice -> Int -> IO DMatrix
-casadi__DMatrix__sub__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__10 :: DMatrixClass a => a -> Slice -> Int -> IO DMatrix
-dmatrix_sub__10 x = casadi__DMatrix__sub__10 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__11" c_casadi__DMatrix__sub__11
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__11
-  :: DMatrix -> Slice -> Slice -> IO DMatrix
-casadi__DMatrix__sub__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__11 :: DMatrixClass a => a -> Slice -> Slice -> IO DMatrix
-dmatrix_sub__11 x = casadi__DMatrix__sub__11 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__12" c_casadi__DMatrix__sub__12
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr Slice' -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__12
-  :: DMatrix -> Vector Int -> Slice -> IO DMatrix
-casadi__DMatrix__sub__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__12 :: DMatrixClass a => a -> Vector Int -> Slice -> IO DMatrix
-dmatrix_sub__12 x = casadi__DMatrix__sub__12 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__13" c_casadi__DMatrix__sub__13
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Slice' -> Ptr (StdVec CInt) -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__13
-  :: DMatrix -> Slice -> Vector Int -> IO DMatrix
-casadi__DMatrix__sub__13 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__13 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__13 :: DMatrixClass a => a -> Slice -> Vector Int -> IO DMatrix
-dmatrix_sub__13 x = casadi__DMatrix__sub__13 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__14" c_casadi__DMatrix__sub__14
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__14
-  :: DMatrix -> Vector Int -> Vector Int -> IO DMatrix
-casadi__DMatrix__sub__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__14 :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO DMatrix
-dmatrix_sub__14 x = casadi__DMatrix__sub__14 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__15" c_casadi__DMatrix__sub__15
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__15
-  :: DMatrix -> Int -> Vector Int -> IO DMatrix
-casadi__DMatrix__sub__15 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__15 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__15 :: DMatrixClass a => a -> Int -> Vector Int -> IO DMatrix
-dmatrix_sub__15 x = casadi__DMatrix__sub__15 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__16" c_casadi__DMatrix__sub__16
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__16
-  :: DMatrix -> Vector Int -> Int -> IO DMatrix
-casadi__DMatrix__sub__16 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__16 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__16 :: DMatrixClass a => a -> Vector Int -> Int -> IO DMatrix
-dmatrix_sub__16 x = casadi__DMatrix__sub__16 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sub__17" c_casadi__DMatrix__sub__17
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sub__17
-  :: DMatrix -> Int -> Int -> IO DMatrix
-casadi__DMatrix__sub__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sub__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sub__17 :: DMatrixClass a => a -> Int -> Int -> IO DMatrix
-dmatrix_sub__17 x = casadi__DMatrix__sub__17 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sym__0" c_casadi__DMatrix__sym__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
-casadi__DMatrix__sym__0
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DMatrix))
-casadi__DMatrix__sym__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sym__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DMatrix))
-dmatrix_sym__0 = casadi__DMatrix__sym__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sym__1" c_casadi__DMatrix__sym__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
-casadi__DMatrix__sym__1
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DMatrix))
-casadi__DMatrix__sym__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sym__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DMatrix))
-dmatrix_sym__1 = casadi__DMatrix__sym__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sym__2" c_casadi__DMatrix__sym__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
-casadi__DMatrix__sym__2
-  :: String -> Int -> Int -> Int -> IO (Vector DMatrix)
-casadi__DMatrix__sym__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sym__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sym__2 :: String -> Int -> Int -> Int -> IO (Vector DMatrix)
-dmatrix_sym__2 = casadi__DMatrix__sym__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sym__3" c_casadi__DMatrix__sym__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
-casadi__DMatrix__sym__3
-  :: String -> Sparsity -> Int -> IO (Vector DMatrix)
-casadi__DMatrix__sym__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sym__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sym__3 :: String -> Sparsity -> Int -> IO (Vector DMatrix)
-dmatrix_sym__3 = casadi__DMatrix__sym__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sym__4" c_casadi__DMatrix__sym__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__sym__4
-  :: String -> Sparsity -> IO DMatrix
-casadi__DMatrix__sym__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sym__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sym__4 :: String -> Sparsity -> IO DMatrix
-dmatrix_sym__4 = casadi__DMatrix__sym__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sym__5" c_casadi__DMatrix__sym__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr DMatrix')
-casadi__DMatrix__sym__5
-  :: String -> IO DMatrix
-casadi__DMatrix__sym__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sym__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sym__5 :: String -> IO DMatrix
-dmatrix_sym__5 = casadi__DMatrix__sym__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sym__6" c_casadi__DMatrix__sym__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sym__6
-  :: String -> Int -> IO DMatrix
-casadi__DMatrix__sym__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sym__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sym__6 :: String -> Int -> IO DMatrix
-dmatrix_sym__6 = casadi__DMatrix__sym__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__sym__7" c_casadi__DMatrix__sym__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__sym__7
-  :: String -> Int -> Int -> IO DMatrix
-casadi__DMatrix__sym__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__sym__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_sym__7 :: String -> Int -> Int -> IO DMatrix
-dmatrix_sym__7 = casadi__DMatrix__sym__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__tan" c_casadi__DMatrix__tan
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__tan
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__tan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__tan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_tan :: DMatrixClass a => a -> IO DMatrix
-dmatrix_tan x = casadi__DMatrix__tan (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__tanh" c_casadi__DMatrix__tanh
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__tanh
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__tanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__tanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_tanh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_tanh x = casadi__DMatrix__tanh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__toScalar" c_casadi__DMatrix__toScalar
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CDouble
-casadi__DMatrix__toScalar
-  :: DMatrix -> IO Double
-casadi__DMatrix__toScalar x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__toScalar errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_toScalar :: DMatrixClass a => a -> IO Double
-dmatrix_toScalar x = casadi__DMatrix__toScalar (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__trans" c_casadi__DMatrix__trans
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__trans
-  :: DMatrix -> IO DMatrix
-casadi__DMatrix__trans x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__trans errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_trans :: DMatrixClass a => a -> IO DMatrix
-dmatrix_trans x = casadi__DMatrix__trans (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__triplet__0" c_casadi__DMatrix__triplet__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CDouble) -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__triplet__0
-  :: Vector Int -> Vector Int -> Vector Double -> Int -> Int -> IO DMatrix
-casadi__DMatrix__triplet__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__triplet__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_triplet__0 :: Vector Int -> Vector Int -> Vector Double -> Int -> Int -> IO DMatrix
-dmatrix_triplet__0 = casadi__DMatrix__triplet__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__triplet__1" c_casadi__DMatrix__triplet__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CDouble) -> IO (Ptr DMatrix')
-casadi__DMatrix__triplet__1
-  :: Vector Int -> Vector Int -> Vector Double -> IO DMatrix
-casadi__DMatrix__triplet__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__triplet__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_triplet__1 :: Vector Int -> Vector Int -> Vector Double -> IO DMatrix
-dmatrix_triplet__1 = casadi__DMatrix__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__unary" c_casadi__DMatrix__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casadi__DMatrix__unary
-  :: Int -> DMatrix -> IO DMatrix
-casadi__DMatrix__unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__unary errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_unary :: Int -> DMatrix -> IO DMatrix
-dmatrix_unary = casadi__DMatrix__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__zeros__0" c_casadi__DMatrix__zeros__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casadi__DMatrix__zeros__0
-  :: Sparsity -> IO DMatrix
-casadi__DMatrix__zeros__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__zeros__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_zeros__0 :: Sparsity -> IO DMatrix
-dmatrix_zeros__0 = casadi__DMatrix__zeros__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__zeros__1" c_casadi__DMatrix__zeros__1
-  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
-casadi__DMatrix__zeros__1
-  :: IO DMatrix
-casadi__DMatrix__zeros__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__zeros__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_zeros__1 :: IO DMatrix
-dmatrix_zeros__1 = casadi__DMatrix__zeros__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__zeros__2" c_casadi__DMatrix__zeros__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__zeros__2
-  :: Int -> IO DMatrix
-casadi__DMatrix__zeros__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__zeros__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_zeros__2 :: Int -> IO DMatrix
-dmatrix_zeros__2 = casadi__DMatrix__zeros__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__DMatrix__zeros__3" c_casadi__DMatrix__zeros__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
-casadi__DMatrix__zeros__3
-  :: Int -> Int -> IO DMatrix
-casadi__DMatrix__zeros__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__DMatrix__zeros__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-dmatrix_zeros__3 :: Int -> Int -> IO DMatrix
-dmatrix_zeros__3 = casadi__DMatrix__zeros__3
+         dmatrix_T,
+         dmatrix__0,
+         dmatrix__1,
+         dmatrix__10,
+         dmatrix__11,
+         dmatrix__2,
+         dmatrix__3,
+         dmatrix__4,
+         dmatrix__5,
+         dmatrix__6,
+         dmatrix__7,
+         dmatrix__8,
+         dmatrix__9,
+         dmatrix___constpow__,
+         dmatrix___copysign__,
+         dmatrix___mldivide__,
+         dmatrix___mrdivide__,
+         dmatrix___nonzero__,
+         dmatrix___truediv____0,
+         dmatrix___truediv____1,
+         dmatrix_append,
+         dmatrix_appendColumns,
+         dmatrix_at,
+         dmatrix_binary,
+         dmatrix_className,
+         dmatrix_clear,
+         dmatrix_colind__0,
+         dmatrix_colind__1,
+         dmatrix_data__0,
+         dmatrix_data__1,
+         dmatrix_dimString,
+         dmatrix_elem__0,
+         dmatrix_elem__1,
+         dmatrix_enlarge__0,
+         dmatrix_enlarge__1,
+         dmatrix_erase__0,
+         dmatrix_erase__1,
+         dmatrix_erase__2,
+         dmatrix_erase__3,
+         dmatrix_eye,
+         dmatrix_getDep__0,
+         dmatrix_getDep__1,
+         dmatrix_getDescription,
+         dmatrix_getElementHash,
+         dmatrix_getElement__0,
+         dmatrix_getElement__1,
+         dmatrix_getEqualityCheckingDepth,
+         dmatrix_getMaxNumCallsInPrint,
+         dmatrix_getNZ__0,
+         dmatrix_getNZ__1,
+         dmatrix_getName,
+         dmatrix_getNdeps,
+         dmatrix_getRepresentation,
+         dmatrix_getSub__0,
+         dmatrix_getSub__1,
+         dmatrix_getSub__2,
+         dmatrix_getSub__3,
+         dmatrix_getSub__4,
+         dmatrix_getSub__5,
+         dmatrix_getSub__6,
+         dmatrix_getValue,
+         dmatrix_get__0,
+         dmatrix_get__1,
+         dmatrix_get__2,
+         dmatrix_get__3,
+         dmatrix_get__4,
+         dmatrix_get__5,
+         dmatrix_hasNZ,
+         dmatrix_hasNonStructuralZeros,
+         dmatrix_inf__0,
+         dmatrix_inf__1,
+         dmatrix_inf__2,
+         dmatrix_inf__3,
+         dmatrix_isCommutative,
+         dmatrix_isConstant,
+         dmatrix_isDense,
+         dmatrix_isEmpty__0,
+         dmatrix_isEmpty__1,
+         dmatrix_isIdentity,
+         dmatrix_isInteger,
+         dmatrix_isLeaf,
+         dmatrix_isMinusOne,
+         dmatrix_isOne,
+         dmatrix_isRegular,
+         dmatrix_isScalar__0,
+         dmatrix_isScalar__1,
+         dmatrix_isSlice__0,
+         dmatrix_isSlice__1,
+         dmatrix_isSmooth,
+         dmatrix_isSquare,
+         dmatrix_isSymbolic,
+         dmatrix_isSymbolicSparse,
+         dmatrix_isTril,
+         dmatrix_isTriu,
+         dmatrix_isVector,
+         dmatrix_isZero,
+         dmatrix_makeDense__0,
+         dmatrix_makeDense__1,
+         dmatrix_makeSparse__0,
+         dmatrix_makeSparse__1,
+         dmatrix_matrix_matrix,
+         dmatrix_matrix_scalar,
+         dmatrix_mul_no_alloc__0,
+         dmatrix_mul_no_alloc__1,
+         dmatrix_mul_no_alloc__2,
+         dmatrix_mul_no_alloc__3,
+         dmatrix_mul_no_alloc_nn__0,
+         dmatrix_mul_no_alloc_nn__1,
+         dmatrix_mul_no_alloc_nt,
+         dmatrix_mul_no_alloc_tn__0,
+         dmatrix_mul_no_alloc_tn__1,
+         dmatrix_nan__0,
+         dmatrix_nan__1,
+         dmatrix_nan__2,
+         dmatrix_nan__3,
+         dmatrix_numel__0,
+         dmatrix_numel__1,
+         dmatrix_ones__0,
+         dmatrix_ones__1,
+         dmatrix_ones__2,
+         dmatrix_ones__3,
+         dmatrix_printDense,
+         dmatrix_printScalar,
+         dmatrix_printSparse,
+         dmatrix_printVector,
+         dmatrix_printme,
+         dmatrix_quad_form,
+         dmatrix_remove,
+         dmatrix_repmat__0,
+         dmatrix_repmat__1,
+         dmatrix_repmat__2,
+         dmatrix_reserve__0,
+         dmatrix_reserve__1,
+         dmatrix_resize,
+         dmatrix_row__0,
+         dmatrix_row__1,
+         dmatrix_sanityCheck__0,
+         dmatrix_sanityCheck__1,
+         dmatrix_scalar_matrix,
+         dmatrix_setAll,
+         dmatrix_setEqualityCheckingDepth__0,
+         dmatrix_setEqualityCheckingDepth__1,
+         dmatrix_setMaxNumCallsInPrint__0,
+         dmatrix_setMaxNumCallsInPrint__1,
+         dmatrix_setNZ__0,
+         dmatrix_setNZ__1,
+         dmatrix_setPrecision,
+         dmatrix_setScientific,
+         dmatrix_setSparse__0,
+         dmatrix_setSparse__1,
+         dmatrix_setSub__0,
+         dmatrix_setSub__1,
+         dmatrix_setSub__2,
+         dmatrix_setSub__3,
+         dmatrix_setSub__4,
+         dmatrix_setSub__5,
+         dmatrix_setSub__6,
+         dmatrix_setWidth,
+         dmatrix_setZero,
+         dmatrix_set__0,
+         dmatrix_set__1,
+         dmatrix_set__2,
+         dmatrix_set__3,
+         dmatrix_set__4,
+         dmatrix_set__5,
+         dmatrix_size1,
+         dmatrix_size2,
+         dmatrix_sizeD,
+         dmatrix_sizeL,
+         dmatrix_sizeU,
+         dmatrix_size__0,
+         dmatrix_size__1,
+         dmatrix_sparse__0,
+         dmatrix_sparse__1,
+         dmatrix_sparse__2,
+         dmatrix_sparse__3,
+         dmatrix_sparsityRef__0,
+         dmatrix_sparsityRef__1,
+         dmatrix_sparsity__0,
+         dmatrix_sparsity__1,
+         dmatrix_sym__0,
+         dmatrix_sym__1,
+         dmatrix_sym__2,
+         dmatrix_sym__3,
+         dmatrix_sym__4,
+         dmatrix_sym__5,
+         dmatrix_sym__6,
+         dmatrix_sym__7,
+         dmatrix_toScalar,
+         dmatrix_toSlice__0,
+         dmatrix_toSlice__1,
+         dmatrix_triplet__0,
+         dmatrix_triplet__1,
+         dmatrix_unary,
+         dmatrix_zeros__0,
+         dmatrix_zeros__1,
+         dmatrix_zeros__2,
+         dmatrix_zeros__3,
+         dmatrix_zz_abs,
+         dmatrix_zz_acos,
+         dmatrix_zz_acosh,
+         dmatrix_zz_addMultiple__0,
+         dmatrix_zz_addMultiple__1,
+         dmatrix_zz_adj,
+         dmatrix_zz_all,
+         dmatrix_zz_and,
+         dmatrix_zz_any,
+         dmatrix_zz_asin,
+         dmatrix_zz_asinh,
+         dmatrix_zz_atan,
+         dmatrix_zz_atan2,
+         dmatrix_zz_atanh,
+         dmatrix_zz_blockcat,
+         dmatrix_zz_blocksplit,
+         dmatrix_zz_ceil,
+         dmatrix_zz_cofactor,
+         dmatrix_zz_cos,
+         dmatrix_zz_cosh,
+         dmatrix_zz_countNodes,
+         dmatrix_zz_cross__0,
+         dmatrix_zz_cross__1,
+         dmatrix_zz_dense,
+         dmatrix_zz_dependsOn,
+         dmatrix_zz_det,
+         dmatrix_zz_diag,
+         dmatrix_zz_diagcat,
+         dmatrix_zz_diagsplit,
+         dmatrix_zz_eig_symbolic,
+         dmatrix_zz_eq,
+         dmatrix_zz_erf,
+         dmatrix_zz_erfinv,
+         dmatrix_zz_exp,
+         dmatrix_zz_expand,
+         dmatrix_zz_extractShared__0,
+         dmatrix_zz_extractShared__1,
+         dmatrix_zz_extractShared__2,
+         dmatrix_zz_floor,
+         dmatrix_zz_gauss_quadrature__0,
+         dmatrix_zz_gauss_quadrature__1,
+         dmatrix_zz_gauss_quadrature__2,
+         dmatrix_zz_ge,
+         dmatrix_zz_getMinor,
+         dmatrix_zz_getOperatorRepresentation,
+         dmatrix_zz_getSymbols__0,
+         dmatrix_zz_getSymbols__1,
+         dmatrix_zz_gradient,
+         dmatrix_zz_gt,
+         dmatrix_zz_heaviside,
+         dmatrix_zz_hessian__0,
+         dmatrix_zz_hessian__1,
+         dmatrix_zz_horzcat,
+         dmatrix_zz_horzsplit,
+         dmatrix_zz_if_else,
+         dmatrix_zz_if_else_zero,
+         dmatrix_zz_inner_prod,
+         dmatrix_zz_inv,
+         dmatrix_zz_isEqual__0,
+         dmatrix_zz_isEqual__1,
+         dmatrix_zz_jacobian,
+         dmatrix_zz_jacobianTimesVector__0,
+         dmatrix_zz_jacobianTimesVector__1,
+         dmatrix_zz_kron,
+         dmatrix_zz_le,
+         dmatrix_zz_linspace,
+         dmatrix_zz_log,
+         dmatrix_zz_log10,
+         dmatrix_zz_lt,
+         dmatrix_zz_max,
+         dmatrix_zz_min,
+         dmatrix_zz_minus,
+         dmatrix_zz_mod,
+         dmatrix_zz_mpower,
+         dmatrix_zz_mtaylor__0,
+         dmatrix_zz_mtaylor__1,
+         dmatrix_zz_mtaylor__2,
+         dmatrix_zz_mtimes__0,
+         dmatrix_zz_mtimes__1,
+         dmatrix_zz_ne,
+         dmatrix_zz_norm_0_mul_nn,
+         dmatrix_zz_norm_1,
+         dmatrix_zz_norm_2,
+         dmatrix_zz_norm_F,
+         dmatrix_zz_norm_inf,
+         dmatrix_zz_norm_inf_mul_nn,
+         dmatrix_zz_not,
+         dmatrix_zz_nullspace,
+         dmatrix_zz_or,
+         dmatrix_zz_outer_prod,
+         dmatrix_zz_pinv,
+         dmatrix_zz_plus,
+         dmatrix_zz_poly_coeff,
+         dmatrix_zz_poly_roots,
+         dmatrix_zz_polyval,
+         dmatrix_zz_power,
+         dmatrix_zz_printCompact,
+         dmatrix_zz_project,
+         dmatrix_zz_pw_const,
+         dmatrix_zz_pw_lin,
+         dmatrix_zz_qr,
+         dmatrix_zz_quad_form__0,
+         dmatrix_zz_quad_form__1,
+         dmatrix_zz_ramp,
+         dmatrix_zz_rdivide,
+         dmatrix_zz_rectangle,
+         dmatrix_zz_repmat__0,
+         dmatrix_zz_repmat__1,
+         dmatrix_zz_repmat__2,
+         dmatrix_zz_reshape__0,
+         dmatrix_zz_reshape__1,
+         dmatrix_zz_sign,
+         dmatrix_zz_simplify,
+         dmatrix_zz_sin,
+         dmatrix_zz_sinh,
+         dmatrix_zz_solve,
+         dmatrix_zz_sparsify__0,
+         dmatrix_zz_sparsify__1,
+         dmatrix_zz_sprank__0,
+         dmatrix_zz_sprank__1,
+         dmatrix_zz_spy,
+         dmatrix_zz_sqrt,
+         dmatrix_zz_substituteInPlace__0,
+         dmatrix_zz_substituteInPlace__1,
+         dmatrix_zz_substitute__0,
+         dmatrix_zz_substitute__1,
+         dmatrix_zz_sumAll,
+         dmatrix_zz_sumCols,
+         dmatrix_zz_sumRows,
+         dmatrix_zz_sum_square,
+         dmatrix_zz_tan,
+         dmatrix_zz_tangent,
+         dmatrix_zz_tanh,
+         dmatrix_zz_taylor__0,
+         dmatrix_zz_taylor__1,
+         dmatrix_zz_taylor__2,
+         dmatrix_zz_times,
+         dmatrix_zz_trace,
+         dmatrix_zz_triangle,
+         dmatrix_zz_tril2symm,
+         dmatrix_zz_tril__0,
+         dmatrix_zz_tril__1,
+         dmatrix_zz_triu2symm,
+         dmatrix_zz_triu__0,
+         dmatrix_zz_triu__1,
+         dmatrix_zz_unite,
+         dmatrix_zz_vec,
+         dmatrix_zz_vecNZ,
+         dmatrix_zz_vecNZcat,
+         dmatrix_zz_veccat,
+         dmatrix_zz_vertcat,
+         dmatrix_zz_vertsplit,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.CToolsInstances ( )
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__0" c_casadi__DMatrix__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__0
+  :: Vector Int -> Int -> Int -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__0 :: Vector Int -> Int -> Int -> IO DMatrix
+dmatrix__0 = casadi__DMatrix__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__1" c_casadi__DMatrix__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__1
+  :: Vector Int -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__1 :: Vector Int -> IO DMatrix
+dmatrix__1 = casadi__DMatrix__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__2" c_casadi__DMatrix__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__2
+  :: IMatrix -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__2 :: IMatrix -> IO DMatrix
+dmatrix__2 = casadi__DMatrix__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__3" c_casadi__DMatrix__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__3
+  :: Vector Double -> Int -> Int -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__3 :: Vector Double -> Int -> Int -> IO DMatrix
+dmatrix__3 = casadi__DMatrix__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__4" c_casadi__DMatrix__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__4
+  :: Vector Double -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__4 :: Vector Double -> IO DMatrix
+dmatrix__4 = casadi__DMatrix__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__5" c_casadi__DMatrix__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__5
+  :: Double -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__5 :: Double -> IO DMatrix
+dmatrix__5 = casadi__DMatrix__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__6" c_casadi__DMatrix__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CDouble) -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__6
+  :: Sparsity -> Vector Double -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__6 :: Sparsity -> Vector Double -> IO DMatrix
+dmatrix__6 = casadi__DMatrix__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__7" c_casadi__DMatrix__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__7
+  :: Sparsity -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__7 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__7 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__7 :: Sparsity -> IO DMatrix
+dmatrix__7 = casadi__DMatrix__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__8" c_casadi__DMatrix__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CDouble -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__8
+  :: Sparsity -> Double -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__8 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__8 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__8 :: Sparsity -> Double -> IO DMatrix
+dmatrix__8 = casadi__DMatrix__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__9" c_casadi__DMatrix__CONSTRUCTOR__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CDouble))) -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__9
+  :: Vector (Vector Double) -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__9 :: Vector (Vector Double) -> IO DMatrix
+dmatrix__9 = casadi__DMatrix__CONSTRUCTOR__9
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__10" c_casadi__DMatrix__CONSTRUCTOR__10
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__10
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__10 :: DMatrix -> IO DMatrix
+dmatrix__10 = casadi__DMatrix__CONSTRUCTOR__10
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__CONSTRUCTOR__11" c_casadi__DMatrix__CONSTRUCTOR__11
+  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
+casadi__DMatrix__CONSTRUCTOR__11
+  :: IO DMatrix
+casadi__DMatrix__CONSTRUCTOR__11  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__CONSTRUCTOR__11 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix__11 :: IO DMatrix
+dmatrix__11 = casadi__DMatrix__CONSTRUCTOR__11
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__T" c_casadi__DMatrix__T
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__T
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__T x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__T errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_T :: DMatrixClass a => a -> IO DMatrix
+dmatrix_T x = casadi__DMatrix__T (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix____constpow__" c_casadi__DMatrix____constpow__
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix____constpow__
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix____constpow__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix____constpow__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix___constpow__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix___constpow__ x = casadi__DMatrix____constpow__ (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix____copysign__" c_casadi__DMatrix____copysign__
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix____copysign__
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix____copysign__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix____copysign__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix___copysign__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix___copysign__ x = casadi__DMatrix____copysign__ (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix____mldivide__" c_casadi__DMatrix____mldivide__
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix____mldivide__
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix____mldivide__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix____mldivide__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix___mldivide__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix___mldivide__ x = casadi__DMatrix____mldivide__ (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix____mrdivide__" c_casadi__DMatrix____mrdivide__
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix____mrdivide__
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix____mrdivide__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix____mrdivide__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix___mrdivide__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix___mrdivide__ x = casadi__DMatrix____mrdivide__ (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix____nonzero__" c_casadi__DMatrix____nonzero__
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix____nonzero__
+  :: DMatrix -> IO Bool
+casadi__DMatrix____nonzero__ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix____nonzero__ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix___nonzero__ :: DMatrixClass a => a -> IO Bool
+dmatrix___nonzero__ x = casadi__DMatrix____nonzero__ (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix____truediv____0" c_casadi__DMatrix____truediv____0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix____truediv____0
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix____truediv____0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix____truediv____0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix___truediv____0 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix___truediv____0 x = casadi__DMatrix____truediv____0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix____truediv____1" c_casadi__DMatrix____truediv____1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix____truediv____1
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix____truediv____1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix____truediv____1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix___truediv____1 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix___truediv____1 x = casadi__DMatrix____truediv____1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__append" c_casadi__DMatrix__append
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__append
+  :: DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__append x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__append errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_append :: DMatrixClass a => a -> DMatrix -> IO ()
+dmatrix_append x = casadi__DMatrix__append (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__appendColumns" c_casadi__DMatrix__appendColumns
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__appendColumns
+  :: DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__appendColumns x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__appendColumns errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_appendColumns :: DMatrixClass a => a -> DMatrix -> IO ()
+dmatrix_appendColumns x = casadi__DMatrix__appendColumns (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__at" c_casadi__DMatrix__at
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CDouble
+casadi__DMatrix__at
+  :: DMatrix -> Int -> IO Double
+casadi__DMatrix__at x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__at errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_at :: DMatrixClass a => a -> Int -> IO Double
+dmatrix_at x = casadi__DMatrix__at (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__binary" c_casadi__DMatrix__binary
+  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__binary
+  :: Int -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__binary x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__binary errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_binary :: Int -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_binary = casadi__DMatrix__binary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__className" c_casadi__DMatrix__className
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+casadi__DMatrix__className
+  :: IO String
+casadi__DMatrix__className  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__className errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_className :: IO String
+dmatrix_className = casadi__DMatrix__className
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__clear" c_casadi__DMatrix__clear
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__clear
+  :: DMatrix -> IO ()
+casadi__DMatrix__clear x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__clear errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_clear :: DMatrixClass a => a -> IO ()
+dmatrix_clear x = casadi__DMatrix__clear (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__colind__0" c_casadi__DMatrix__colind__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
+casadi__DMatrix__colind__0
+  :: DMatrix -> Int -> IO Int
+casadi__DMatrix__colind__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__colind__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_colind__0 :: DMatrixClass a => a -> Int -> IO Int
+dmatrix_colind__0 x = casadi__DMatrix__colind__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__colind__1" c_casadi__DMatrix__colind__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec CInt))
+casadi__DMatrix__colind__1
+  :: DMatrix -> IO (Vector Int)
+casadi__DMatrix__colind__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__colind__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_colind__1 :: DMatrixClass a => a -> IO (Vector Int)
+dmatrix_colind__1 x = casadi__DMatrix__colind__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__data__0" c_casadi__DMatrix__data__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec CDouble))
+casadi__DMatrix__data__0
+  :: DMatrix -> IO (Vector Double)
+casadi__DMatrix__data__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__data__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_data__0 :: DMatrixClass a => a -> IO (Vector Double)
+dmatrix_data__0 x = casadi__DMatrix__data__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__data__1" c_casadi__DMatrix__data__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec CDouble))
+casadi__DMatrix__data__1
+  :: DMatrix -> IO (Vector Double)
+casadi__DMatrix__data__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__data__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_data__1 :: DMatrixClass a => a -> IO (Vector Double)
+dmatrix_data__1 x = casadi__DMatrix__data__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__dimString" c_casadi__DMatrix__dimString
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr StdString)
+casadi__DMatrix__dimString
+  :: DMatrix -> IO String
+casadi__DMatrix__dimString x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__dimString errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_dimString :: DMatrixClass a => a -> IO String
+dmatrix_dimString x = casadi__DMatrix__dimString (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__elem__0" c_casadi__DMatrix__elem__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CDouble
+casadi__DMatrix__elem__0
+  :: DMatrix -> Int -> IO Double
+casadi__DMatrix__elem__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__elem__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_elem__0 :: DMatrixClass a => a -> Int -> IO Double
+dmatrix_elem__0 x = casadi__DMatrix__elem__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__elem__1" c_casadi__DMatrix__elem__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO CDouble
+casadi__DMatrix__elem__1
+  :: DMatrix -> Int -> Int -> IO Double
+casadi__DMatrix__elem__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__elem__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_elem__1 :: DMatrixClass a => a -> Int -> Int -> IO Double
+dmatrix_elem__1 x = casadi__DMatrix__elem__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__enlarge__0" c_casadi__DMatrix__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__DMatrix__enlarge__0
+  :: DMatrix -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__DMatrix__enlarge__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_enlarge__0 :: DMatrixClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+dmatrix_enlarge__0 x = casadi__DMatrix__enlarge__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__enlarge__1" c_casadi__DMatrix__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__DMatrix__enlarge__1
+  :: DMatrix -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__DMatrix__enlarge__1 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_enlarge__1 :: DMatrixClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+dmatrix_enlarge__1 x = casadi__DMatrix__enlarge__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__erase__0" c_casadi__DMatrix__erase__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> IO ()
+casadi__DMatrix__erase__0
+  :: DMatrix -> Vector Int -> IO ()
+casadi__DMatrix__erase__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__erase__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_erase__0 :: DMatrixClass a => a -> Vector Int -> IO ()
+dmatrix_erase__0 x = casadi__DMatrix__erase__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__erase__1" c_casadi__DMatrix__erase__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__DMatrix__erase__1
+  :: DMatrix -> Vector Int -> Bool -> IO ()
+casadi__DMatrix__erase__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__erase__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_erase__1 :: DMatrixClass a => a -> Vector Int -> Bool -> IO ()
+dmatrix_erase__1 x = casadi__DMatrix__erase__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__erase__2" c_casadi__DMatrix__erase__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__DMatrix__erase__2
+  :: DMatrix -> Vector Int -> Vector Int -> IO ()
+casadi__DMatrix__erase__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__erase__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_erase__2 :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
+dmatrix_erase__2 x = casadi__DMatrix__erase__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__erase__3" c_casadi__DMatrix__erase__3
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__DMatrix__erase__3
+  :: DMatrix -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__DMatrix__erase__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__erase__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_erase__3 :: DMatrixClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+dmatrix_erase__3 x = casadi__DMatrix__erase__3 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__eye" c_casadi__DMatrix__eye
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__eye
+  :: Int -> IO DMatrix
+casadi__DMatrix__eye x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__eye errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_eye :: Int -> IO DMatrix
+dmatrix_eye = casadi__DMatrix__eye
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__get__0" c_casadi__DMatrix__get__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__get__0
+  :: DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__get__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__get__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_get__0 :: DMatrixClass a => a -> DMatrix -> IO ()
+dmatrix_get__0 x = casadi__DMatrix__get__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__get__1" c_casadi__DMatrix__get__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO ()
+casadi__DMatrix__get__1
+  :: DMatrix -> DMatrix -> SparsityType -> IO ()
+casadi__DMatrix__get__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__get__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_get__1 :: DMatrixClass a => a -> DMatrix -> SparsityType -> IO ()
+dmatrix_get__1 x = casadi__DMatrix__get__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__get__2" c_casadi__DMatrix__get__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> IO ()
+casadi__DMatrix__get__2
+  :: DMatrix -> Vector Double -> IO ()
+casadi__DMatrix__get__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__get__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_get__2 :: DMatrixClass a => a -> Vector Double -> IO ()
+dmatrix_get__2 x = casadi__DMatrix__get__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__get__3" c_casadi__DMatrix__get__3
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> CInt -> IO ()
+casadi__DMatrix__get__3
+  :: DMatrix -> Vector Double -> SparsityType -> IO ()
+casadi__DMatrix__get__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__get__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_get__3 :: DMatrixClass a => a -> Vector Double -> SparsityType -> IO ()
+dmatrix_get__3 x = casadi__DMatrix__get__3 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__get__4" c_casadi__DMatrix__get__4
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
+casadi__DMatrix__get__4
+  :: DMatrix -> Double -> IO ()
+casadi__DMatrix__get__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__get__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_get__4 :: DMatrixClass a => a -> Double -> IO ()
+dmatrix_get__4 x = casadi__DMatrix__get__4 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__get__5" c_casadi__DMatrix__get__5
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> CInt -> IO ()
+casadi__DMatrix__get__5
+  :: DMatrix -> Double -> SparsityType -> IO ()
+casadi__DMatrix__get__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__get__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_get__5 :: DMatrixClass a => a -> Double -> SparsityType -> IO ()
+dmatrix_get__5 x = casadi__DMatrix__get__5 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getDep__0" c_casadi__DMatrix__getDep__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__getDep__0
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__getDep__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getDep__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getDep__0 :: DMatrixClass a => a -> IO DMatrix
+dmatrix_getDep__0 x = casadi__DMatrix__getDep__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getDep__1" c_casadi__DMatrix__getDep__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__getDep__1
+  :: DMatrix -> Int -> IO DMatrix
+casadi__DMatrix__getDep__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getDep__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getDep__1 :: DMatrixClass a => a -> Int -> IO DMatrix
+dmatrix_getDep__1 x = casadi__DMatrix__getDep__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getElement__0" c_casadi__DMatrix__getElement__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CDouble
+casadi__DMatrix__getElement__0
+  :: DMatrix -> Int -> IO Double
+casadi__DMatrix__getElement__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getElement__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getElement__0 :: DMatrixClass a => a -> Int -> IO Double
+dmatrix_getElement__0 x = casadi__DMatrix__getElement__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getElement__1" c_casadi__DMatrix__getElement__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO CDouble
+casadi__DMatrix__getElement__1
+  :: DMatrix -> Int -> Int -> IO Double
+casadi__DMatrix__getElement__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getElement__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getElement__1 :: DMatrixClass a => a -> Int -> Int -> IO Double
+dmatrix_getElement__1 x = casadi__DMatrix__getElement__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getElementHash" c_casadi__DMatrix__getElementHash
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CLong
+casadi__DMatrix__getElementHash
+  :: DMatrix -> IO Int
+casadi__DMatrix__getElementHash x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getElementHash errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getElementHash :: DMatrixClass a => a -> IO Int
+dmatrix_getElementHash x = casadi__DMatrix__getElementHash (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getEqualityCheckingDepth" c_casadi__DMatrix__getEqualityCheckingDepth
+  :: Ptr (Ptr StdString) -> IO CInt
+casadi__DMatrix__getEqualityCheckingDepth
+  :: IO Int
+casadi__DMatrix__getEqualityCheckingDepth  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getEqualityCheckingDepth errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getEqualityCheckingDepth :: IO Int
+dmatrix_getEqualityCheckingDepth = casadi__DMatrix__getEqualityCheckingDepth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getMaxNumCallsInPrint" c_casadi__DMatrix__getMaxNumCallsInPrint
+  :: Ptr (Ptr StdString) -> IO CLong
+casadi__DMatrix__getMaxNumCallsInPrint
+  :: IO Int
+casadi__DMatrix__getMaxNumCallsInPrint  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getMaxNumCallsInPrint errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getMaxNumCallsInPrint :: IO Int
+dmatrix_getMaxNumCallsInPrint = casadi__DMatrix__getMaxNumCallsInPrint
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getNZ__0" c_casadi__DMatrix__getNZ__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__getNZ__0
+  :: DMatrix -> Bool -> IMatrix -> IO DMatrix
+casadi__DMatrix__getNZ__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getNZ__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getNZ__0 :: DMatrixClass a => a -> Bool -> IMatrix -> IO DMatrix
+dmatrix_getNZ__0 x = casadi__DMatrix__getNZ__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getNZ__1" c_casadi__DMatrix__getNZ__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr Slice' -> IO (Ptr DMatrix')
+casadi__DMatrix__getNZ__1
+  :: DMatrix -> Bool -> Slice -> IO DMatrix
+casadi__DMatrix__getNZ__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getNZ__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getNZ__1 :: DMatrixClass a => a -> Bool -> Slice -> IO DMatrix
+dmatrix_getNZ__1 x = casadi__DMatrix__getNZ__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getName" c_casadi__DMatrix__getName
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr StdString)
+casadi__DMatrix__getName
+  :: DMatrix -> IO String
+casadi__DMatrix__getName x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getName errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getName :: DMatrixClass a => a -> IO String
+dmatrix_getName x = casadi__DMatrix__getName (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getNdeps" c_casadi__DMatrix__getNdeps
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__getNdeps
+  :: DMatrix -> IO Int
+casadi__DMatrix__getNdeps x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getNdeps errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getNdeps :: DMatrixClass a => a -> IO Int
+dmatrix_getNdeps x = casadi__DMatrix__getNdeps (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getSub__0" c_casadi__DMatrix__getSub__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__getSub__0
+  :: DMatrix -> Bool -> IMatrix -> IMatrix -> IO DMatrix
+casadi__DMatrix__getSub__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getSub__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getSub__0 :: DMatrixClass a => a -> Bool -> IMatrix -> IMatrix -> IO DMatrix
+dmatrix_getSub__0 x = casadi__DMatrix__getSub__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getSub__1" c_casadi__DMatrix__getSub__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr DMatrix')
+casadi__DMatrix__getSub__1
+  :: DMatrix -> Bool -> IMatrix -> Slice -> IO DMatrix
+casadi__DMatrix__getSub__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getSub__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getSub__1 :: DMatrixClass a => a -> Bool -> IMatrix -> Slice -> IO DMatrix
+dmatrix_getSub__1 x = casadi__DMatrix__getSub__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getSub__2" c_casadi__DMatrix__getSub__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__getSub__2
+  :: DMatrix -> Bool -> Slice -> IMatrix -> IO DMatrix
+casadi__DMatrix__getSub__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getSub__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getSub__2 :: DMatrixClass a => a -> Bool -> Slice -> IMatrix -> IO DMatrix
+dmatrix_getSub__2 x = casadi__DMatrix__getSub__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getSub__3" c_casadi__DMatrix__getSub__3
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO (Ptr DMatrix')
+casadi__DMatrix__getSub__3
+  :: DMatrix -> Bool -> Slice -> Slice -> IO DMatrix
+casadi__DMatrix__getSub__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getSub__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getSub__3 :: DMatrixClass a => a -> Bool -> Slice -> Slice -> IO DMatrix
+dmatrix_getSub__3 x = casadi__DMatrix__getSub__3 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getSub__4" c_casadi__DMatrix__getSub__4
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__getSub__4
+  :: DMatrix -> Bool -> Sparsity -> IO DMatrix
+casadi__DMatrix__getSub__4 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getSub__4 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getSub__4 :: DMatrixClass a => a -> Bool -> Sparsity -> IO DMatrix
+dmatrix_getSub__4 x = casadi__DMatrix__getSub__4 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getSub__5" c_casadi__DMatrix__getSub__5
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__getSub__5
+  :: DMatrix -> Bool -> IMatrix -> IO DMatrix
+casadi__DMatrix__getSub__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getSub__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getSub__5 :: DMatrixClass a => a -> Bool -> IMatrix -> IO DMatrix
+dmatrix_getSub__5 x = casadi__DMatrix__getSub__5 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getSub__6" c_casadi__DMatrix__getSub__6
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> Ptr Slice' -> IO (Ptr DMatrix')
+casadi__DMatrix__getSub__6
+  :: DMatrix -> Bool -> Slice -> IO DMatrix
+casadi__DMatrix__getSub__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getSub__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getSub__6 :: DMatrixClass a => a -> Bool -> Slice -> IO DMatrix
+dmatrix_getSub__6 x = casadi__DMatrix__getSub__6 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getValue" c_casadi__DMatrix__getValue
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CDouble
+casadi__DMatrix__getValue
+  :: DMatrix -> IO Double
+casadi__DMatrix__getValue x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getValue errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getValue :: DMatrixClass a => a -> IO Double
+dmatrix_getValue x = casadi__DMatrix__getValue (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__hasNZ" c_casadi__DMatrix__hasNZ
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO CInt
+casadi__DMatrix__hasNZ
+  :: DMatrix -> Int -> Int -> IO Bool
+casadi__DMatrix__hasNZ x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__hasNZ errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_hasNZ :: DMatrixClass a => a -> Int -> Int -> IO Bool
+dmatrix_hasNZ x = casadi__DMatrix__hasNZ (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__hasNonStructuralZeros" c_casadi__DMatrix__hasNonStructuralZeros
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__hasNonStructuralZeros
+  :: DMatrix -> IO Bool
+casadi__DMatrix__hasNonStructuralZeros x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__hasNonStructuralZeros errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_hasNonStructuralZeros :: DMatrixClass a => a -> IO Bool
+dmatrix_hasNonStructuralZeros x = casadi__DMatrix__hasNonStructuralZeros (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__inf__0" c_casadi__DMatrix__inf__0
+  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
+casadi__DMatrix__inf__0
+  :: IO DMatrix
+casadi__DMatrix__inf__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__inf__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_inf__0 :: IO DMatrix
+dmatrix_inf__0 = casadi__DMatrix__inf__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__inf__1" c_casadi__DMatrix__inf__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__inf__1
+  :: Int -> IO DMatrix
+casadi__DMatrix__inf__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__inf__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_inf__1 :: Int -> IO DMatrix
+dmatrix_inf__1 = casadi__DMatrix__inf__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__inf__2" c_casadi__DMatrix__inf__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__inf__2
+  :: Int -> Int -> IO DMatrix
+casadi__DMatrix__inf__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__inf__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_inf__2 :: Int -> Int -> IO DMatrix
+dmatrix_inf__2 = casadi__DMatrix__inf__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__inf__3" c_casadi__DMatrix__inf__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__inf__3
+  :: Sparsity -> IO DMatrix
+casadi__DMatrix__inf__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__inf__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_inf__3 :: Sparsity -> IO DMatrix
+dmatrix_inf__3 = casadi__DMatrix__inf__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isCommutative" c_casadi__DMatrix__isCommutative
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isCommutative
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isCommutative x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isCommutative errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isCommutative :: DMatrixClass a => a -> IO Bool
+dmatrix_isCommutative x = casadi__DMatrix__isCommutative (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isConstant" c_casadi__DMatrix__isConstant
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isConstant
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isConstant x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isConstant errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isConstant :: DMatrixClass a => a -> IO Bool
+dmatrix_isConstant x = casadi__DMatrix__isConstant (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isDense" c_casadi__DMatrix__isDense
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isDense
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isDense :: DMatrixClass a => a -> IO Bool
+dmatrix_isDense x = casadi__DMatrix__isDense (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isEmpty__0" c_casadi__DMatrix__isEmpty__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isEmpty__0
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isEmpty__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isEmpty__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isEmpty__0 :: DMatrixClass a => a -> IO Bool
+dmatrix_isEmpty__0 x = casadi__DMatrix__isEmpty__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isEmpty__1" c_casadi__DMatrix__isEmpty__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
+casadi__DMatrix__isEmpty__1
+  :: DMatrix -> Bool -> IO Bool
+casadi__DMatrix__isEmpty__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isEmpty__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isEmpty__1 :: DMatrixClass a => a -> Bool -> IO Bool
+dmatrix_isEmpty__1 x = casadi__DMatrix__isEmpty__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isIdentity" c_casadi__DMatrix__isIdentity
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isIdentity
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isIdentity x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isIdentity errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isIdentity :: DMatrixClass a => a -> IO Bool
+dmatrix_isIdentity x = casadi__DMatrix__isIdentity (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isInteger" c_casadi__DMatrix__isInteger
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isInteger
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isInteger x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isInteger errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isInteger :: DMatrixClass a => a -> IO Bool
+dmatrix_isInteger x = casadi__DMatrix__isInteger (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isLeaf" c_casadi__DMatrix__isLeaf
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isLeaf
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isLeaf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isLeaf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isLeaf :: DMatrixClass a => a -> IO Bool
+dmatrix_isLeaf x = casadi__DMatrix__isLeaf (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isMinusOne" c_casadi__DMatrix__isMinusOne
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isMinusOne
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isMinusOne x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isMinusOne errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isMinusOne :: DMatrixClass a => a -> IO Bool
+dmatrix_isMinusOne x = casadi__DMatrix__isMinusOne (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isOne" c_casadi__DMatrix__isOne
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isOne
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isOne x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isOne errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isOne :: DMatrixClass a => a -> IO Bool
+dmatrix_isOne x = casadi__DMatrix__isOne (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isRegular" c_casadi__DMatrix__isRegular
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isRegular
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isRegular x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isRegular errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isRegular :: DMatrixClass a => a -> IO Bool
+dmatrix_isRegular x = casadi__DMatrix__isRegular (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isScalar__0" c_casadi__DMatrix__isScalar__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isScalar__0
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isScalar__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isScalar__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isScalar__0 :: DMatrixClass a => a -> IO Bool
+dmatrix_isScalar__0 x = casadi__DMatrix__isScalar__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isScalar__1" c_casadi__DMatrix__isScalar__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
+casadi__DMatrix__isScalar__1
+  :: DMatrix -> Bool -> IO Bool
+casadi__DMatrix__isScalar__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isScalar__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isScalar__1 :: DMatrixClass a => a -> Bool -> IO Bool
+dmatrix_isScalar__1 x = casadi__DMatrix__isScalar__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isSlice__0" c_casadi__DMatrix__isSlice__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isSlice__0
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isSlice__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isSlice__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isSlice__0 :: DMatrixClass a => a -> IO Bool
+dmatrix_isSlice__0 x = casadi__DMatrix__isSlice__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isSlice__1" c_casadi__DMatrix__isSlice__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
+casadi__DMatrix__isSlice__1
+  :: DMatrix -> Bool -> IO Bool
+casadi__DMatrix__isSlice__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isSlice__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isSlice__1 :: DMatrixClass a => a -> Bool -> IO Bool
+dmatrix_isSlice__1 x = casadi__DMatrix__isSlice__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isSmooth" c_casadi__DMatrix__isSmooth
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isSmooth
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isSmooth x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isSmooth errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isSmooth :: DMatrixClass a => a -> IO Bool
+dmatrix_isSmooth x = casadi__DMatrix__isSmooth (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isSquare" c_casadi__DMatrix__isSquare
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isSquare
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isSquare x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isSquare errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isSquare :: DMatrixClass a => a -> IO Bool
+dmatrix_isSquare x = casadi__DMatrix__isSquare (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isSymbolic" c_casadi__DMatrix__isSymbolic
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isSymbolic
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isSymbolic x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isSymbolic errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isSymbolic :: DMatrixClass a => a -> IO Bool
+dmatrix_isSymbolic x = casadi__DMatrix__isSymbolic (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isSymbolicSparse" c_casadi__DMatrix__isSymbolicSparse
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isSymbolicSparse
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isSymbolicSparse x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isSymbolicSparse errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isSymbolicSparse :: DMatrixClass a => a -> IO Bool
+dmatrix_isSymbolicSparse x = casadi__DMatrix__isSymbolicSparse (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isTril" c_casadi__DMatrix__isTril
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isTril
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isTril x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isTril errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isTril :: DMatrixClass a => a -> IO Bool
+dmatrix_isTril x = casadi__DMatrix__isTril (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isTriu" c_casadi__DMatrix__isTriu
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isTriu
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isTriu x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isTriu errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isTriu :: DMatrixClass a => a -> IO Bool
+dmatrix_isTriu x = casadi__DMatrix__isTriu (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isVector" c_casadi__DMatrix__isVector
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isVector
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isVector :: DMatrixClass a => a -> IO Bool
+dmatrix_isVector x = casadi__DMatrix__isVector (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__isZero" c_casadi__DMatrix__isZero
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__isZero
+  :: DMatrix -> IO Bool
+casadi__DMatrix__isZero x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__isZero errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_isZero :: DMatrixClass a => a -> IO Bool
+dmatrix_isZero x = casadi__DMatrix__isZero (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__makeDense__0" c_casadi__DMatrix__makeDense__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__makeDense__0
+  :: DMatrix -> IO ()
+casadi__DMatrix__makeDense__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__makeDense__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_makeDense__0 :: DMatrixClass a => a -> IO ()
+dmatrix_makeDense__0 x = casadi__DMatrix__makeDense__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__makeDense__1" c_casadi__DMatrix__makeDense__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
+casadi__DMatrix__makeDense__1
+  :: DMatrix -> Double -> IO ()
+casadi__DMatrix__makeDense__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__makeDense__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_makeDense__1 :: DMatrixClass a => a -> Double -> IO ()
+dmatrix_makeDense__1 x = casadi__DMatrix__makeDense__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__makeSparse__0" c_casadi__DMatrix__makeSparse__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__makeSparse__0
+  :: DMatrix -> IO ()
+casadi__DMatrix__makeSparse__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__makeSparse__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_makeSparse__0 :: DMatrixClass a => a -> IO ()
+dmatrix_makeSparse__0 x = casadi__DMatrix__makeSparse__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__makeSparse__1" c_casadi__DMatrix__makeSparse__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
+casadi__DMatrix__makeSparse__1
+  :: DMatrix -> Double -> IO ()
+casadi__DMatrix__makeSparse__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__makeSparse__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_makeSparse__1 :: DMatrixClass a => a -> Double -> IO ()
+dmatrix_makeSparse__1 x = casadi__DMatrix__makeSparse__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__matrix_matrix" c_casadi__DMatrix__matrix_matrix
+  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__matrix_matrix
+  :: Int -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__matrix_matrix x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__matrix_matrix errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_matrix_matrix :: Int -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_matrix_matrix = casadi__DMatrix__matrix_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__matrix_scalar" c_casadi__DMatrix__matrix_scalar
+  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__matrix_scalar
+  :: Int -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__matrix_scalar x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__matrix_scalar errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_matrix_scalar :: Int -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_matrix_scalar = casadi__DMatrix__matrix_scalar
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc__0" c_casadi__DMatrix__mul_no_alloc__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> IO ()
+casadi__DMatrix__mul_no_alloc__0
+  :: DMatrix -> Vector Double -> Vector Double -> IO ()
+casadi__DMatrix__mul_no_alloc__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc__0 :: DMatrix -> Vector Double -> Vector Double -> IO ()
+dmatrix_mul_no_alloc__0 = casadi__DMatrix__mul_no_alloc__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc__1" c_casadi__DMatrix__mul_no_alloc__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> CInt -> IO ()
+casadi__DMatrix__mul_no_alloc__1
+  :: DMatrix -> Vector Double -> Vector Double -> Bool -> IO ()
+casadi__DMatrix__mul_no_alloc__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc__1 :: DMatrix -> Vector Double -> Vector Double -> Bool -> IO ()
+dmatrix_mul_no_alloc__1 = casadi__DMatrix__mul_no_alloc__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc__2" c_casadi__DMatrix__mul_no_alloc__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> IO ()
+casadi__DMatrix__mul_no_alloc__2
+  :: DMatrix -> DMatrix -> DMatrix -> Vector Double -> IO ()
+casadi__DMatrix__mul_no_alloc__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc__2 :: DMatrix -> DMatrix -> DMatrix -> Vector Double -> IO ()
+dmatrix_mul_no_alloc__2 = casadi__DMatrix__mul_no_alloc__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc__3" c_casadi__DMatrix__mul_no_alloc__3
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> CInt -> IO ()
+casadi__DMatrix__mul_no_alloc__3
+  :: DMatrix -> DMatrix -> DMatrix -> Vector Double -> Bool -> IO ()
+casadi__DMatrix__mul_no_alloc__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc__3 :: DMatrix -> DMatrix -> DMatrix -> Vector Double -> Bool -> IO ()
+dmatrix_mul_no_alloc__3 = casadi__DMatrix__mul_no_alloc__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_nn__0" c_casadi__DMatrix__mul_no_alloc_nn__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> IO ()
+casadi__DMatrix__mul_no_alloc_nn__0
+  :: DMatrix -> Vector Double -> Vector Double -> IO ()
+casadi__DMatrix__mul_no_alloc_nn__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc_nn__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc_nn__0 :: DMatrix -> Vector Double -> Vector Double -> IO ()
+dmatrix_mul_no_alloc_nn__0 = casadi__DMatrix__mul_no_alloc_nn__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_nn__1" c_casadi__DMatrix__mul_no_alloc_nn__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__mul_no_alloc_nn__1
+  :: DMatrix -> DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__mul_no_alloc_nn__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc_nn__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc_nn__1 :: DMatrix -> DMatrix -> DMatrix -> IO ()
+dmatrix_mul_no_alloc_nn__1 = casadi__DMatrix__mul_no_alloc_nn__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_nt" c_casadi__DMatrix__mul_no_alloc_nt
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__mul_no_alloc_nt
+  :: DMatrix -> DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__mul_no_alloc_nt x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc_nt errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc_nt :: DMatrix -> DMatrix -> DMatrix -> IO ()
+dmatrix_mul_no_alloc_nt = casadi__DMatrix__mul_no_alloc_nt
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_tn__0" c_casadi__DMatrix__mul_no_alloc_tn__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> IO ()
+casadi__DMatrix__mul_no_alloc_tn__0
+  :: DMatrix -> Vector Double -> Vector Double -> IO ()
+casadi__DMatrix__mul_no_alloc_tn__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc_tn__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc_tn__0 :: DMatrix -> Vector Double -> Vector Double -> IO ()
+dmatrix_mul_no_alloc_tn__0 = casadi__DMatrix__mul_no_alloc_tn__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__mul_no_alloc_tn__1" c_casadi__DMatrix__mul_no_alloc_tn__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__mul_no_alloc_tn__1
+  :: DMatrix -> DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__mul_no_alloc_tn__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__mul_no_alloc_tn__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_mul_no_alloc_tn__1 :: DMatrix -> DMatrix -> DMatrix -> IO ()
+dmatrix_mul_no_alloc_tn__1 = casadi__DMatrix__mul_no_alloc_tn__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__nan__0" c_casadi__DMatrix__nan__0
+  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
+casadi__DMatrix__nan__0
+  :: IO DMatrix
+casadi__DMatrix__nan__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__nan__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_nan__0 :: IO DMatrix
+dmatrix_nan__0 = casadi__DMatrix__nan__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__nan__1" c_casadi__DMatrix__nan__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__nan__1
+  :: Int -> IO DMatrix
+casadi__DMatrix__nan__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__nan__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_nan__1 :: Int -> IO DMatrix
+dmatrix_nan__1 = casadi__DMatrix__nan__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__nan__2" c_casadi__DMatrix__nan__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__nan__2
+  :: Int -> Int -> IO DMatrix
+casadi__DMatrix__nan__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__nan__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_nan__2 :: Int -> Int -> IO DMatrix
+dmatrix_nan__2 = casadi__DMatrix__nan__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__nan__3" c_casadi__DMatrix__nan__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__nan__3
+  :: Sparsity -> IO DMatrix
+casadi__DMatrix__nan__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__nan__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_nan__3 :: Sparsity -> IO DMatrix
+dmatrix_nan__3 = casadi__DMatrix__nan__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__numel__0" c_casadi__DMatrix__numel__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
+casadi__DMatrix__numel__0
+  :: DMatrix -> Int -> IO Int
+casadi__DMatrix__numel__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__numel__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_numel__0 :: DMatrixClass a => a -> Int -> IO Int
+dmatrix_numel__0 x = casadi__DMatrix__numel__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__numel__1" c_casadi__DMatrix__numel__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__numel__1
+  :: DMatrix -> IO Int
+casadi__DMatrix__numel__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__numel__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_numel__1 :: DMatrixClass a => a -> IO Int
+dmatrix_numel__1 x = casadi__DMatrix__numel__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__ones__0" c_casadi__DMatrix__ones__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__ones__0
+  :: Sparsity -> IO DMatrix
+casadi__DMatrix__ones__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__ones__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_ones__0 :: Sparsity -> IO DMatrix
+dmatrix_ones__0 = casadi__DMatrix__ones__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__ones__1" c_casadi__DMatrix__ones__1
+  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
+casadi__DMatrix__ones__1
+  :: IO DMatrix
+casadi__DMatrix__ones__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__ones__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_ones__1 :: IO DMatrix
+dmatrix_ones__1 = casadi__DMatrix__ones__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__ones__2" c_casadi__DMatrix__ones__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__ones__2
+  :: Int -> IO DMatrix
+casadi__DMatrix__ones__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__ones__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_ones__2 :: Int -> IO DMatrix
+dmatrix_ones__2 = casadi__DMatrix__ones__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__ones__3" c_casadi__DMatrix__ones__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__ones__3
+  :: Int -> Int -> IO DMatrix
+casadi__DMatrix__ones__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__ones__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_ones__3 :: Int -> Int -> IO DMatrix
+dmatrix_ones__3 = casadi__DMatrix__ones__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__printDense" c_casadi__DMatrix__printDense
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__printDense
+  :: DMatrix -> IO ()
+casadi__DMatrix__printDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__printDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_printDense :: DMatrixClass a => a -> IO ()
+dmatrix_printDense x = casadi__DMatrix__printDense (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__printScalar" c_casadi__DMatrix__printScalar
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__printScalar
+  :: DMatrix -> IO ()
+casadi__DMatrix__printScalar x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__printScalar errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_printScalar :: DMatrixClass a => a -> IO ()
+dmatrix_printScalar x = casadi__DMatrix__printScalar (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__printSparse" c_casadi__DMatrix__printSparse
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__printSparse
+  :: DMatrix -> IO ()
+casadi__DMatrix__printSparse x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__printSparse errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_printSparse :: DMatrixClass a => a -> IO ()
+dmatrix_printSparse x = casadi__DMatrix__printSparse (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__printVector" c_casadi__DMatrix__printVector
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__printVector
+  :: DMatrix -> IO ()
+casadi__DMatrix__printVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__printVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_printVector :: DMatrixClass a => a -> IO ()
+dmatrix_printVector x = casadi__DMatrix__printVector (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__printme" c_casadi__DMatrix__printme
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__printme
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__printme x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__printme errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_printme :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_printme x = casadi__DMatrix__printme (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__quad_form" c_casadi__DMatrix__quad_form
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> Ptr DMatrix' -> IO CDouble
+casadi__DMatrix__quad_form
+  :: Vector Double -> DMatrix -> IO Double
+casadi__DMatrix__quad_form x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__quad_form errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_quad_form :: Vector Double -> DMatrix -> IO Double
+dmatrix_quad_form = casadi__DMatrix__quad_form
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__remove" c_casadi__DMatrix__remove
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__DMatrix__remove
+  :: DMatrix -> Vector Int -> Vector Int -> IO ()
+casadi__DMatrix__remove x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__remove errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_remove :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
+dmatrix_remove x = casadi__DMatrix__remove (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__repmat__0" c_casadi__DMatrix__repmat__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__repmat__0
+  :: DMatrix -> Int -> IO DMatrix
+casadi__DMatrix__repmat__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__repmat__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_repmat__0 :: DMatrix -> Int -> IO DMatrix
+dmatrix_repmat__0 = casadi__DMatrix__repmat__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__repmat__1" c_casadi__DMatrix__repmat__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__repmat__1
+  :: DMatrix -> Int -> Int -> IO DMatrix
+casadi__DMatrix__repmat__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__repmat__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_repmat__1 :: DMatrix -> Int -> Int -> IO DMatrix
+dmatrix_repmat__1 = casadi__DMatrix__repmat__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__repmat__2" c_casadi__DMatrix__repmat__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__repmat__2
+  :: DMatrix -> Sparsity -> IO DMatrix
+casadi__DMatrix__repmat__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__repmat__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_repmat__2 :: DMatrix -> Sparsity -> IO DMatrix
+dmatrix_repmat__2 = casadi__DMatrix__repmat__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__reserve__0" c_casadi__DMatrix__reserve__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO ()
+casadi__DMatrix__reserve__0
+  :: DMatrix -> Int -> Int -> IO ()
+casadi__DMatrix__reserve__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__reserve__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_reserve__0 :: DMatrixClass a => a -> Int -> Int -> IO ()
+dmatrix_reserve__0 x = casadi__DMatrix__reserve__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__reserve__1" c_casadi__DMatrix__reserve__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO ()
+casadi__DMatrix__reserve__1
+  :: DMatrix -> Int -> IO ()
+casadi__DMatrix__reserve__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__reserve__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_reserve__1 :: DMatrixClass a => a -> Int -> IO ()
+dmatrix_reserve__1 x = casadi__DMatrix__reserve__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__resize" c_casadi__DMatrix__resize
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO ()
+casadi__DMatrix__resize
+  :: DMatrix -> Int -> Int -> IO ()
+casadi__DMatrix__resize x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__resize errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_resize :: DMatrixClass a => a -> Int -> Int -> IO ()
+dmatrix_resize x = casadi__DMatrix__resize (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__row__0" c_casadi__DMatrix__row__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
+casadi__DMatrix__row__0
+  :: DMatrix -> Int -> IO Int
+casadi__DMatrix__row__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__row__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_row__0 :: DMatrixClass a => a -> Int -> IO Int
+dmatrix_row__0 x = casadi__DMatrix__row__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__row__1" c_casadi__DMatrix__row__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec CInt))
+casadi__DMatrix__row__1
+  :: DMatrix -> IO (Vector Int)
+casadi__DMatrix__row__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__row__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_row__1 :: DMatrixClass a => a -> IO (Vector Int)
+dmatrix_row__1 x = casadi__DMatrix__row__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sanityCheck__0" c_casadi__DMatrix__sanityCheck__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__sanityCheck__0
+  :: DMatrix -> IO ()
+casadi__DMatrix__sanityCheck__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sanityCheck__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sanityCheck__0 :: DMatrixClass a => a -> IO ()
+dmatrix_sanityCheck__0 x = casadi__DMatrix__sanityCheck__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sanityCheck__1" c_casadi__DMatrix__sanityCheck__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO ()
+casadi__DMatrix__sanityCheck__1
+  :: DMatrix -> Bool -> IO ()
+casadi__DMatrix__sanityCheck__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sanityCheck__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sanityCheck__1 :: DMatrixClass a => a -> Bool -> IO ()
+dmatrix_sanityCheck__1 x = casadi__DMatrix__sanityCheck__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__scalar_matrix" c_casadi__DMatrix__scalar_matrix
+  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__scalar_matrix
+  :: Int -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__scalar_matrix x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__scalar_matrix errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_scalar_matrix :: Int -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_scalar_matrix = casadi__DMatrix__scalar_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__set__0" c_casadi__DMatrix__set__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__set__0
+  :: DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__set__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__set__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_set__0 :: DMatrixClass a => a -> DMatrix -> IO ()
+dmatrix_set__0 x = casadi__DMatrix__set__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__set__1" c_casadi__DMatrix__set__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO ()
+casadi__DMatrix__set__1
+  :: DMatrix -> DMatrix -> SparsityType -> IO ()
+casadi__DMatrix__set__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__set__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_set__1 :: DMatrixClass a => a -> DMatrix -> SparsityType -> IO ()
+dmatrix_set__1 x = casadi__DMatrix__set__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__set__2" c_casadi__DMatrix__set__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> IO ()
+casadi__DMatrix__set__2
+  :: DMatrix -> Vector Double -> IO ()
+casadi__DMatrix__set__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__set__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_set__2 :: DMatrixClass a => a -> Vector Double -> IO ()
+dmatrix_set__2 x = casadi__DMatrix__set__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__set__3" c_casadi__DMatrix__set__3
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> CInt -> IO ()
+casadi__DMatrix__set__3
+  :: DMatrix -> Vector Double -> SparsityType -> IO ()
+casadi__DMatrix__set__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__set__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_set__3 :: DMatrixClass a => a -> Vector Double -> SparsityType -> IO ()
+dmatrix_set__3 x = casadi__DMatrix__set__3 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__set__4" c_casadi__DMatrix__set__4
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
+casadi__DMatrix__set__4
+  :: DMatrix -> Double -> IO ()
+casadi__DMatrix__set__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__set__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_set__4 :: DMatrixClass a => a -> Double -> IO ()
+dmatrix_set__4 x = casadi__DMatrix__set__4 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__set__5" c_casadi__DMatrix__set__5
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> CInt -> IO ()
+casadi__DMatrix__set__5
+  :: DMatrix -> Double -> SparsityType -> IO ()
+casadi__DMatrix__set__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__set__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_set__5 :: DMatrixClass a => a -> Double -> SparsityType -> IO ()
+dmatrix_set__5 x = casadi__DMatrix__set__5 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setAll" c_casadi__DMatrix__setAll
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO ()
+casadi__DMatrix__setAll
+  :: DMatrix -> Double -> IO ()
+casadi__DMatrix__setAll x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setAll errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setAll :: DMatrixClass a => a -> Double -> IO ()
+dmatrix_setAll x = casadi__DMatrix__setAll (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setEqualityCheckingDepth__0" c_casadi__DMatrix__setEqualityCheckingDepth__0
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__DMatrix__setEqualityCheckingDepth__0
+  :: IO ()
+casadi__DMatrix__setEqualityCheckingDepth__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setEqualityCheckingDepth__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setEqualityCheckingDepth__0 :: IO ()
+dmatrix_setEqualityCheckingDepth__0 = casadi__DMatrix__setEqualityCheckingDepth__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setEqualityCheckingDepth__1" c_casadi__DMatrix__setEqualityCheckingDepth__1
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__DMatrix__setEqualityCheckingDepth__1
+  :: Int -> IO ()
+casadi__DMatrix__setEqualityCheckingDepth__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setEqualityCheckingDepth__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setEqualityCheckingDepth__1 :: Int -> IO ()
+dmatrix_setEqualityCheckingDepth__1 = casadi__DMatrix__setEqualityCheckingDepth__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setMaxNumCallsInPrint__0" c_casadi__DMatrix__setMaxNumCallsInPrint__0
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__DMatrix__setMaxNumCallsInPrint__0
+  :: IO ()
+casadi__DMatrix__setMaxNumCallsInPrint__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setMaxNumCallsInPrint__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setMaxNumCallsInPrint__0 :: IO ()
+dmatrix_setMaxNumCallsInPrint__0 = casadi__DMatrix__setMaxNumCallsInPrint__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setMaxNumCallsInPrint__1" c_casadi__DMatrix__setMaxNumCallsInPrint__1
+  :: Ptr (Ptr StdString) -> CLong -> IO ()
+casadi__DMatrix__setMaxNumCallsInPrint__1
+  :: Int -> IO ()
+casadi__DMatrix__setMaxNumCallsInPrint__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setMaxNumCallsInPrint__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setMaxNumCallsInPrint__1 :: Int -> IO ()
+dmatrix_setMaxNumCallsInPrint__1 = casadi__DMatrix__setMaxNumCallsInPrint__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setNZ__0" c_casadi__DMatrix__setNZ__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> IO ()
+casadi__DMatrix__setNZ__0
+  :: DMatrix -> DMatrix -> Bool -> IMatrix -> IO ()
+casadi__DMatrix__setNZ__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setNZ__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setNZ__0 :: DMatrixClass a => a -> DMatrix -> Bool -> IMatrix -> IO ()
+dmatrix_setNZ__0 x = casadi__DMatrix__setNZ__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setNZ__1" c_casadi__DMatrix__setNZ__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr Slice' -> IO ()
+casadi__DMatrix__setNZ__1
+  :: DMatrix -> DMatrix -> Bool -> Slice -> IO ()
+casadi__DMatrix__setNZ__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setNZ__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setNZ__1 :: DMatrixClass a => a -> DMatrix -> Bool -> Slice -> IO ()
+dmatrix_setNZ__1 x = casadi__DMatrix__setNZ__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setPrecision" c_casadi__DMatrix__setPrecision
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__DMatrix__setPrecision
+  :: Int -> IO ()
+casadi__DMatrix__setPrecision x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setPrecision errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setPrecision :: Int -> IO ()
+dmatrix_setPrecision = casadi__DMatrix__setPrecision
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setScientific" c_casadi__DMatrix__setScientific
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__DMatrix__setScientific
+  :: Bool -> IO ()
+casadi__DMatrix__setScientific x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setScientific errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setScientific :: Bool -> IO ()
+dmatrix_setScientific = casadi__DMatrix__setScientific
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSparse__0" c_casadi__DMatrix__setSparse__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__setSparse__0
+  :: DMatrix -> Sparsity -> IO DMatrix
+casadi__DMatrix__setSparse__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSparse__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSparse__0 :: DMatrixClass a => a -> Sparsity -> IO DMatrix
+dmatrix_setSparse__0 x = casadi__DMatrix__setSparse__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSparse__1" c_casadi__DMatrix__setSparse__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__setSparse__1
+  :: DMatrix -> Sparsity -> Bool -> IO DMatrix
+casadi__DMatrix__setSparse__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSparse__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSparse__1 :: DMatrixClass a => a -> Sparsity -> Bool -> IO DMatrix
+dmatrix_setSparse__1 x = casadi__DMatrix__setSparse__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSub__0" c_casadi__DMatrix__setSub__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__DMatrix__setSub__0
+  :: DMatrix -> DMatrix -> Bool -> IMatrix -> IMatrix -> IO ()
+casadi__DMatrix__setSub__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSub__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSub__0 :: DMatrixClass a => a -> DMatrix -> Bool -> IMatrix -> IMatrix -> IO ()
+dmatrix_setSub__0 x = casadi__DMatrix__setSub__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSub__1" c_casadi__DMatrix__setSub__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> Ptr Slice' -> IO ()
+casadi__DMatrix__setSub__1
+  :: DMatrix -> DMatrix -> Bool -> IMatrix -> Slice -> IO ()
+casadi__DMatrix__setSub__1 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSub__1 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSub__1 :: DMatrixClass a => a -> DMatrix -> Bool -> IMatrix -> Slice -> IO ()
+dmatrix_setSub__1 x = casadi__DMatrix__setSub__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSub__2" c_casadi__DMatrix__setSub__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr Slice' -> Ptr IMatrix' -> IO ()
+casadi__DMatrix__setSub__2
+  :: DMatrix -> DMatrix -> Bool -> Slice -> IMatrix -> IO ()
+casadi__DMatrix__setSub__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSub__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSub__2 :: DMatrixClass a => a -> DMatrix -> Bool -> Slice -> IMatrix -> IO ()
+dmatrix_setSub__2 x = casadi__DMatrix__setSub__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSub__3" c_casadi__DMatrix__setSub__3
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+casadi__DMatrix__setSub__3
+  :: DMatrix -> DMatrix -> Bool -> Slice -> Slice -> IO ()
+casadi__DMatrix__setSub__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSub__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSub__3 :: DMatrixClass a => a -> DMatrix -> Bool -> Slice -> Slice -> IO ()
+dmatrix_setSub__3 x = casadi__DMatrix__setSub__3 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSub__4" c_casadi__DMatrix__setSub__4
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr Sparsity' -> IO ()
+casadi__DMatrix__setSub__4
+  :: DMatrix -> DMatrix -> Bool -> Sparsity -> IO ()
+casadi__DMatrix__setSub__4 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSub__4 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSub__4 :: DMatrixClass a => a -> DMatrix -> Bool -> Sparsity -> IO ()
+dmatrix_setSub__4 x = casadi__DMatrix__setSub__4 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSub__5" c_casadi__DMatrix__setSub__5
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr IMatrix' -> IO ()
+casadi__DMatrix__setSub__5
+  :: DMatrix -> DMatrix -> Bool -> IMatrix -> IO ()
+casadi__DMatrix__setSub__5 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSub__5 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSub__5 :: DMatrixClass a => a -> DMatrix -> Bool -> IMatrix -> IO ()
+dmatrix_setSub__5 x = casadi__DMatrix__setSub__5 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setSub__6" c_casadi__DMatrix__setSub__6
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr Slice' -> IO ()
+casadi__DMatrix__setSub__6
+  :: DMatrix -> DMatrix -> Bool -> Slice -> IO ()
+casadi__DMatrix__setSub__6 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setSub__6 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setSub__6 :: DMatrixClass a => a -> DMatrix -> Bool -> Slice -> IO ()
+dmatrix_setSub__6 x = casadi__DMatrix__setSub__6 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setWidth" c_casadi__DMatrix__setWidth
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__DMatrix__setWidth
+  :: Int -> IO ()
+casadi__DMatrix__setWidth x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setWidth errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setWidth :: Int -> IO ()
+dmatrix_setWidth = casadi__DMatrix__setWidth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__setZero" c_casadi__DMatrix__setZero
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__setZero
+  :: DMatrix -> IO ()
+casadi__DMatrix__setZero x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__setZero errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_setZero :: DMatrixClass a => a -> IO ()
+dmatrix_setZero x = casadi__DMatrix__setZero (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__size__0" c_casadi__DMatrix__size__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO CInt
+casadi__DMatrix__size__0
+  :: DMatrix -> SparsityType -> IO Int
+casadi__DMatrix__size__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__size__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_size__0 :: DMatrixClass a => a -> SparsityType -> IO Int
+dmatrix_size__0 x = casadi__DMatrix__size__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__size__1" c_casadi__DMatrix__size__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__size__1
+  :: DMatrix -> IO Int
+casadi__DMatrix__size__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__size__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_size__1 :: DMatrixClass a => a -> IO Int
+dmatrix_size__1 x = casadi__DMatrix__size__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__size1" c_casadi__DMatrix__size1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__size1
+  :: DMatrix -> IO Int
+casadi__DMatrix__size1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__size1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_size1 :: DMatrixClass a => a -> IO Int
+dmatrix_size1 x = casadi__DMatrix__size1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__size2" c_casadi__DMatrix__size2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__size2
+  :: DMatrix -> IO Int
+casadi__DMatrix__size2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__size2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_size2 :: DMatrixClass a => a -> IO Int
+dmatrix_size2 x = casadi__DMatrix__size2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sizeD" c_casadi__DMatrix__sizeD
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__sizeD
+  :: DMatrix -> IO Int
+casadi__DMatrix__sizeD x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sizeD errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sizeD :: DMatrixClass a => a -> IO Int
+dmatrix_sizeD x = casadi__DMatrix__sizeD (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sizeL" c_casadi__DMatrix__sizeL
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__sizeL
+  :: DMatrix -> IO Int
+casadi__DMatrix__sizeL x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sizeL errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sizeL :: DMatrixClass a => a -> IO Int
+dmatrix_sizeL x = casadi__DMatrix__sizeL (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sizeU" c_casadi__DMatrix__sizeU
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__sizeU
+  :: DMatrix -> IO Int
+casadi__DMatrix__sizeU x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sizeU errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sizeU :: DMatrixClass a => a -> IO Int
+dmatrix_sizeU x = casadi__DMatrix__sizeU (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sparse__0" c_casadi__DMatrix__sparse__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__sparse__0
+  :: Sparsity -> DMatrix -> IO DMatrix
+casadi__DMatrix__sparse__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sparse__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sparse__0 :: Sparsity -> DMatrix -> IO DMatrix
+dmatrix_sparse__0 = casadi__DMatrix__sparse__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sparse__1" c_casadi__DMatrix__sparse__1
+  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
+casadi__DMatrix__sparse__1
+  :: IO DMatrix
+casadi__DMatrix__sparse__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sparse__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sparse__1 :: IO DMatrix
+dmatrix_sparse__1 = casadi__DMatrix__sparse__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sparse__2" c_casadi__DMatrix__sparse__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__sparse__2
+  :: Int -> IO DMatrix
+casadi__DMatrix__sparse__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sparse__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sparse__2 :: Int -> IO DMatrix
+dmatrix_sparse__2 = casadi__DMatrix__sparse__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sparse__3" c_casadi__DMatrix__sparse__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__sparse__3
+  :: Int -> Int -> IO DMatrix
+casadi__DMatrix__sparse__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sparse__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sparse__3 :: Int -> Int -> IO DMatrix
+dmatrix_sparse__3 = casadi__DMatrix__sparse__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sparsity__0" c_casadi__DMatrix__sparsity__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Sparsity')
+casadi__DMatrix__sparsity__0
+  :: DMatrix -> IO Sparsity
+casadi__DMatrix__sparsity__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sparsity__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sparsity__0 :: DMatrixClass a => a -> IO Sparsity
+dmatrix_sparsity__0 x = casadi__DMatrix__sparsity__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sparsity__1" c_casadi__DMatrix__sparsity__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Sparsity')
+casadi__DMatrix__sparsity__1
+  :: DMatrix -> IO Sparsity
+casadi__DMatrix__sparsity__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sparsity__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sparsity__1 :: DMatrixClass a => a -> IO Sparsity
+dmatrix_sparsity__1 x = casadi__DMatrix__sparsity__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sparsityRef__0" c_casadi__DMatrix__sparsityRef__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Sparsity')
+casadi__DMatrix__sparsityRef__0
+  :: DMatrix -> IO Sparsity
+casadi__DMatrix__sparsityRef__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sparsityRef__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sparsityRef__0 :: DMatrixClass a => a -> IO Sparsity
+dmatrix_sparsityRef__0 x = casadi__DMatrix__sparsityRef__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sparsityRef__1" c_casadi__DMatrix__sparsityRef__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Sparsity')
+casadi__DMatrix__sparsityRef__1
+  :: DMatrix -> IO Sparsity
+casadi__DMatrix__sparsityRef__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sparsityRef__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sparsityRef__1 :: DMatrixClass a => a -> IO Sparsity
+dmatrix_sparsityRef__1 x = casadi__DMatrix__sparsityRef__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sym__0" c_casadi__DMatrix__sym__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
+casadi__DMatrix__sym__0
+  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DMatrix))
+casadi__DMatrix__sym__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sym__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DMatrix))
+dmatrix_sym__0 = casadi__DMatrix__sym__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sym__1" c_casadi__DMatrix__sym__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
+casadi__DMatrix__sym__1
+  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DMatrix))
+casadi__DMatrix__sym__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sym__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DMatrix))
+dmatrix_sym__1 = casadi__DMatrix__sym__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sym__2" c_casadi__DMatrix__sym__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
+casadi__DMatrix__sym__2
+  :: String -> Int -> Int -> Int -> IO (Vector DMatrix)
+casadi__DMatrix__sym__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sym__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sym__2 :: String -> Int -> Int -> Int -> IO (Vector DMatrix)
+dmatrix_sym__2 = casadi__DMatrix__sym__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sym__3" c_casadi__DMatrix__sym__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
+casadi__DMatrix__sym__3
+  :: String -> Sparsity -> Int -> IO (Vector DMatrix)
+casadi__DMatrix__sym__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sym__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sym__3 :: String -> Sparsity -> Int -> IO (Vector DMatrix)
+dmatrix_sym__3 = casadi__DMatrix__sym__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sym__4" c_casadi__DMatrix__sym__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__sym__4
+  :: String -> Sparsity -> IO DMatrix
+casadi__DMatrix__sym__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sym__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sym__4 :: String -> Sparsity -> IO DMatrix
+dmatrix_sym__4 = casadi__DMatrix__sym__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sym__5" c_casadi__DMatrix__sym__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr DMatrix')
+casadi__DMatrix__sym__5
+  :: String -> IO DMatrix
+casadi__DMatrix__sym__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sym__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sym__5 :: String -> IO DMatrix
+dmatrix_sym__5 = casadi__DMatrix__sym__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sym__6" c_casadi__DMatrix__sym__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__sym__6
+  :: String -> Int -> IO DMatrix
+casadi__DMatrix__sym__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sym__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sym__6 :: String -> Int -> IO DMatrix
+dmatrix_sym__6 = casadi__DMatrix__sym__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__sym__7" c_casadi__DMatrix__sym__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__sym__7
+  :: String -> Int -> Int -> IO DMatrix
+casadi__DMatrix__sym__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__sym__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_sym__7 :: String -> Int -> Int -> IO DMatrix
+dmatrix_sym__7 = casadi__DMatrix__sym__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__toScalar" c_casadi__DMatrix__toScalar
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CDouble
+casadi__DMatrix__toScalar
+  :: DMatrix -> IO Double
+casadi__DMatrix__toScalar x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__toScalar errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_toScalar :: DMatrixClass a => a -> IO Double
+dmatrix_toScalar x = casadi__DMatrix__toScalar (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__toSlice__0" c_casadi__DMatrix__toSlice__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr Slice')
+casadi__DMatrix__toSlice__0
+  :: DMatrix -> IO Slice
+casadi__DMatrix__toSlice__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__toSlice__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_toSlice__0 :: DMatrixClass a => a -> IO Slice
+dmatrix_toSlice__0 x = casadi__DMatrix__toSlice__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__toSlice__1" c_casadi__DMatrix__toSlice__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr Slice')
+casadi__DMatrix__toSlice__1
+  :: DMatrix -> Bool -> IO Slice
+casadi__DMatrix__toSlice__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__toSlice__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_toSlice__1 :: DMatrixClass a => a -> Bool -> IO Slice
+dmatrix_toSlice__1 x = casadi__DMatrix__toSlice__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__triplet__0" c_casadi__DMatrix__triplet__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CDouble) -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__triplet__0
+  :: Vector Int -> Vector Int -> Vector Double -> Int -> Int -> IO DMatrix
+casadi__DMatrix__triplet__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__triplet__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_triplet__0 :: Vector Int -> Vector Int -> Vector Double -> Int -> Int -> IO DMatrix
+dmatrix_triplet__0 = casadi__DMatrix__triplet__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__triplet__1" c_casadi__DMatrix__triplet__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CDouble) -> IO (Ptr DMatrix')
+casadi__DMatrix__triplet__1
+  :: Vector Int -> Vector Int -> Vector Double -> IO DMatrix
+casadi__DMatrix__triplet__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__triplet__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_triplet__1 :: Vector Int -> Vector Int -> Vector Double -> IO DMatrix
+dmatrix_triplet__1 = casadi__DMatrix__triplet__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__unary" c_casadi__DMatrix__unary
+  :: Ptr (Ptr StdString) -> CInt -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__unary
+  :: Int -> DMatrix -> IO DMatrix
+casadi__DMatrix__unary x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__unary errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_unary :: Int -> DMatrix -> IO DMatrix
+dmatrix_unary = casadi__DMatrix__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zeros__0" c_casadi__DMatrix__zeros__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__zeros__0
+  :: Sparsity -> IO DMatrix
+casadi__DMatrix__zeros__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zeros__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zeros__0 :: Sparsity -> IO DMatrix
+dmatrix_zeros__0 = casadi__DMatrix__zeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zeros__1" c_casadi__DMatrix__zeros__1
+  :: Ptr (Ptr StdString) -> IO (Ptr DMatrix')
+casadi__DMatrix__zeros__1
+  :: IO DMatrix
+casadi__DMatrix__zeros__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zeros__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zeros__1 :: IO DMatrix
+dmatrix_zeros__1 = casadi__DMatrix__zeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zeros__2" c_casadi__DMatrix__zeros__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zeros__2
+  :: Int -> IO DMatrix
+casadi__DMatrix__zeros__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zeros__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zeros__2 :: Int -> IO DMatrix
+dmatrix_zeros__2 = casadi__DMatrix__zeros__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zeros__3" c_casadi__DMatrix__zeros__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zeros__3
+  :: Int -> Int -> IO DMatrix
+casadi__DMatrix__zeros__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zeros__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zeros__3 :: Int -> Int -> IO DMatrix
+dmatrix_zeros__3 = casadi__DMatrix__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_abs" c_casadi__DMatrix__zz_abs
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_abs
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_abs x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_abs errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_abs :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_abs x = casadi__DMatrix__zz_abs (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_acos" c_casadi__DMatrix__zz_acos
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_acos
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_acos x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_acos errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_acos :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_acos x = casadi__DMatrix__zz_acos (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_acosh" c_casadi__DMatrix__zz_acosh
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_acosh
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_acosh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_acosh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_acosh :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_acosh x = casadi__DMatrix__zz_acosh (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_addMultiple__0" c_casadi__DMatrix__zz_addMultiple__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> IO ()
+casadi__DMatrix__zz_addMultiple__0
+  :: DMatrix -> Vector Double -> Vector Double -> IO ()
+casadi__DMatrix__zz_addMultiple__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_addMultiple__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_addMultiple__0 :: DMatrixClass a => a -> Vector Double -> Vector Double -> IO ()
+dmatrix_zz_addMultiple__0 x = casadi__DMatrix__zz_addMultiple__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_addMultiple__1" c_casadi__DMatrix__zz_addMultiple__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> CInt -> IO ()
+casadi__DMatrix__zz_addMultiple__1
+  :: DMatrix -> Vector Double -> Vector Double -> Bool -> IO ()
+casadi__DMatrix__zz_addMultiple__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_addMultiple__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_addMultiple__1 :: DMatrixClass a => a -> Vector Double -> Vector Double -> Bool -> IO ()
+dmatrix_zz_addMultiple__1 x = casadi__DMatrix__zz_addMultiple__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_adj" c_casadi__DMatrix__zz_adj
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_adj
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_adj x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_adj errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_adj :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_adj x = casadi__DMatrix__zz_adj (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_all" c_casadi__DMatrix__zz_all
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_all
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_all x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_all errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_all :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_all x = casadi__DMatrix__zz_all (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_and" c_casadi__DMatrix__zz_and
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_and
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_and x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_and errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_and :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_and x = casadi__DMatrix__zz_and (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_any" c_casadi__DMatrix__zz_any
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_any
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_any x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_any errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_any :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_any x = casadi__DMatrix__zz_any (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_asin" c_casadi__DMatrix__zz_asin
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_asin
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_asin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_asin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_asin :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_asin x = casadi__DMatrix__zz_asin (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_asinh" c_casadi__DMatrix__zz_asinh
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_asinh
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_asinh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_asinh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_asinh :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_asinh x = casadi__DMatrix__zz_asinh (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_atan" c_casadi__DMatrix__zz_atan
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_atan
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_atan x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_atan errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_atan :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_atan x = casadi__DMatrix__zz_atan (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_atan2" c_casadi__DMatrix__zz_atan2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_atan2
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_atan2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_atan2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_atan2 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_atan2 x = casadi__DMatrix__zz_atan2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_atanh" c_casadi__DMatrix__zz_atanh
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_atanh
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_atanh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_atanh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_atanh :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_atanh x = casadi__DMatrix__zz_atanh (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_blockcat" c_casadi__DMatrix__zz_blockcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_blockcat
+  :: Vector (Vector DMatrix) -> IO DMatrix
+casadi__DMatrix__zz_blockcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_blockcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_blockcat :: Vector (Vector DMatrix) -> IO DMatrix
+dmatrix_zz_blockcat = casadi__DMatrix__zz_blockcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_blocksplit" c_casadi__DMatrix__zz_blocksplit
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
+casadi__DMatrix__zz_blocksplit
+  :: DMatrix -> Vector Int -> Vector Int -> IO (Vector (Vector DMatrix))
+casadi__DMatrix__zz_blocksplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_blocksplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_blocksplit :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO (Vector (Vector DMatrix))
+dmatrix_zz_blocksplit x = casadi__DMatrix__zz_blocksplit (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_ceil" c_casadi__DMatrix__zz_ceil
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_ceil
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_ceil x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_ceil errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_ceil :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_ceil x = casadi__DMatrix__zz_ceil (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_cofactor" c_casadi__DMatrix__zz_cofactor
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_cofactor
+  :: DMatrix -> Int -> Int -> IO DMatrix
+casadi__DMatrix__zz_cofactor x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_cofactor errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_cofactor :: DMatrixClass a => a -> Int -> Int -> IO DMatrix
+dmatrix_zz_cofactor x = casadi__DMatrix__zz_cofactor (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_cos" c_casadi__DMatrix__zz_cos
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_cos
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_cos x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_cos errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_cos :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_cos x = casadi__DMatrix__zz_cos (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_cosh" c_casadi__DMatrix__zz_cosh
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_cosh
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_cosh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_cosh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_cosh :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_cosh x = casadi__DMatrix__zz_cosh (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_countNodes" c_casadi__DMatrix__zz_countNodes
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__zz_countNodes
+  :: DMatrix -> IO Int
+casadi__DMatrix__zz_countNodes x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_countNodes errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_countNodes :: DMatrixClass a => a -> IO Int
+dmatrix_zz_countNodes x = casadi__DMatrix__zz_countNodes (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_cross__0" c_casadi__DMatrix__zz_cross__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_cross__0
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_cross__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_cross__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_cross__0 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_cross__0 x = casadi__DMatrix__zz_cross__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_cross__1" c_casadi__DMatrix__zz_cross__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_cross__1
+  :: DMatrix -> DMatrix -> Int -> IO DMatrix
+casadi__DMatrix__zz_cross__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_cross__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_cross__1 :: DMatrixClass a => a -> DMatrix -> Int -> IO DMatrix
+dmatrix_zz_cross__1 x = casadi__DMatrix__zz_cross__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_dense" c_casadi__DMatrix__zz_dense
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_dense
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_dense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_dense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_dense :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_dense x = casadi__DMatrix__zz_dense (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_dependsOn" c_casadi__DMatrix__zz_dependsOn
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__zz_dependsOn
+  :: DMatrix -> DMatrix -> IO Bool
+casadi__DMatrix__zz_dependsOn x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_dependsOn errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_dependsOn :: DMatrixClass a => a -> DMatrix -> IO Bool
+dmatrix_zz_dependsOn x = casadi__DMatrix__zz_dependsOn (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_det" c_casadi__DMatrix__zz_det
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_det
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_det x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_det errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_det :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_det x = casadi__DMatrix__zz_det (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_diag" c_casadi__DMatrix__zz_diag
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_diag
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_diag x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_diag errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_diag :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_diag x = casadi__DMatrix__zz_diag (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_diagcat" c_casadi__DMatrix__zz_diagcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_diagcat
+  :: Vector DMatrix -> IO DMatrix
+casadi__DMatrix__zz_diagcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_diagcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_diagcat :: Vector DMatrix -> IO DMatrix
+dmatrix_zz_diagcat = casadi__DMatrix__zz_diagcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_diagsplit" c_casadi__DMatrix__zz_diagsplit
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DMatrix')))
+casadi__DMatrix__zz_diagsplit
+  :: DMatrix -> Vector Int -> Vector Int -> IO (Vector DMatrix)
+casadi__DMatrix__zz_diagsplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_diagsplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_diagsplit :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO (Vector DMatrix)
+dmatrix_zz_diagsplit x = casadi__DMatrix__zz_diagsplit (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_eig_symbolic" c_casadi__DMatrix__zz_eig_symbolic
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_eig_symbolic
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_eig_symbolic x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_eig_symbolic errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_eig_symbolic :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_eig_symbolic x = casadi__DMatrix__zz_eig_symbolic (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_eq" c_casadi__DMatrix__zz_eq
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_eq
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_eq x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_eq errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_eq :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_eq x = casadi__DMatrix__zz_eq (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_erf" c_casadi__DMatrix__zz_erf
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_erf
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_erf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_erf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_erf :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_erf x = casadi__DMatrix__zz_erf (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_erfinv" c_casadi__DMatrix__zz_erfinv
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_erfinv
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_erfinv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_erfinv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_erfinv :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_erfinv x = casadi__DMatrix__zz_erfinv (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_exp" c_casadi__DMatrix__zz_exp
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_exp
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_exp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_exp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_exp :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_exp x = casadi__DMatrix__zz_exp (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_expand" c_casadi__DMatrix__zz_expand
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__zz_expand
+  :: DMatrix -> DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__zz_expand x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_expand errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_expand :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO ()
+dmatrix_zz_expand x = casadi__DMatrix__zz_expand (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_extractShared__0" c_casadi__DMatrix__zz_extractShared__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> IO ()
+casadi__DMatrix__zz_extractShared__0
+  :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> IO ()
+casadi__DMatrix__zz_extractShared__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_extractShared__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_extractShared__0 :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> IO ()
+dmatrix_zz_extractShared__0 = casadi__DMatrix__zz_extractShared__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_extractShared__1" c_casadi__DMatrix__zz_extractShared__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO ()
+casadi__DMatrix__zz_extractShared__1
+  :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> String -> IO ()
+casadi__DMatrix__zz_extractShared__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_extractShared__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_extractShared__1 :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> String -> IO ()
+dmatrix_zz_extractShared__1 = casadi__DMatrix__zz_extractShared__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_extractShared__2" c_casadi__DMatrix__zz_extractShared__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO ()
+casadi__DMatrix__zz_extractShared__2
+  :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> String -> String -> IO ()
+casadi__DMatrix__zz_extractShared__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_extractShared__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_extractShared__2 :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> String -> String -> IO ()
+dmatrix_zz_extractShared__2 = casadi__DMatrix__zz_extractShared__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_floor" c_casadi__DMatrix__zz_floor
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_floor
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_floor x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_floor errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_floor :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_floor x = casadi__DMatrix__zz_floor (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_gauss_quadrature__0" c_casadi__DMatrix__zz_gauss_quadrature__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_gauss_quadrature__0
+  :: DMatrix -> DMatrix -> DMatrix -> DMatrix -> Int -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_gauss_quadrature__0 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_gauss_quadrature__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_gauss_quadrature__0 :: DMatrixClass a => a -> DMatrix -> DMatrix -> DMatrix -> Int -> DMatrix -> IO DMatrix
+dmatrix_zz_gauss_quadrature__0 x = casadi__DMatrix__zz_gauss_quadrature__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_gauss_quadrature__1" c_casadi__DMatrix__zz_gauss_quadrature__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_gauss_quadrature__1
+  :: DMatrix -> DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_gauss_quadrature__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_gauss_quadrature__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_gauss_quadrature__1 :: DMatrixClass a => a -> DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_gauss_quadrature__1 x = casadi__DMatrix__zz_gauss_quadrature__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_gauss_quadrature__2" c_casadi__DMatrix__zz_gauss_quadrature__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_gauss_quadrature__2
+  :: DMatrix -> DMatrix -> DMatrix -> DMatrix -> Int -> IO DMatrix
+casadi__DMatrix__zz_gauss_quadrature__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_gauss_quadrature__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_gauss_quadrature__2 :: DMatrixClass a => a -> DMatrix -> DMatrix -> DMatrix -> Int -> IO DMatrix
+dmatrix_zz_gauss_quadrature__2 x = casadi__DMatrix__zz_gauss_quadrature__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_ge" c_casadi__DMatrix__zz_ge
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_ge
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_ge x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_ge errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_ge :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_ge x = casadi__DMatrix__zz_ge (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_getMinor" c_casadi__DMatrix__zz_getMinor
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_getMinor
+  :: DMatrix -> Int -> Int -> IO DMatrix
+casadi__DMatrix__zz_getMinor x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_getMinor errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_getMinor :: DMatrixClass a => a -> Int -> Int -> IO DMatrix
+dmatrix_zz_getMinor x = casadi__DMatrix__zz_getMinor (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_getOperatorRepresentation" c_casadi__DMatrix__zz_getOperatorRepresentation
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+casadi__DMatrix__zz_getOperatorRepresentation
+  :: DMatrix -> Vector String -> IO String
+casadi__DMatrix__zz_getOperatorRepresentation x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_getOperatorRepresentation errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_getOperatorRepresentation :: DMatrixClass a => a -> Vector String -> IO String
+dmatrix_zz_getOperatorRepresentation x = casadi__DMatrix__zz_getOperatorRepresentation (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_getSymbols__0" c_casadi__DMatrix__zz_getSymbols__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+casadi__DMatrix__zz_getSymbols__0
+  :: Vector DMatrix -> IO (Vector DMatrix)
+casadi__DMatrix__zz_getSymbols__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_getSymbols__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_getSymbols__0 :: Vector DMatrix -> IO (Vector DMatrix)
+dmatrix_zz_getSymbols__0 = casadi__DMatrix__zz_getSymbols__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_getSymbols__1" c_casadi__DMatrix__zz_getSymbols__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec (Ptr DMatrix')))
+casadi__DMatrix__zz_getSymbols__1
+  :: DMatrix -> IO (Vector DMatrix)
+casadi__DMatrix__zz_getSymbols__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_getSymbols__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_getSymbols__1 :: DMatrixClass a => a -> IO (Vector DMatrix)
+dmatrix_zz_getSymbols__1 x = casadi__DMatrix__zz_getSymbols__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_gradient" c_casadi__DMatrix__zz_gradient
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_gradient
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_gradient x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_gradient errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_gradient :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_gradient x = casadi__DMatrix__zz_gradient (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_gt" c_casadi__DMatrix__zz_gt
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_gt
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_gt x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_gt errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_gt :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_gt x = casadi__DMatrix__zz_gt (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_heaviside" c_casadi__DMatrix__zz_heaviside
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_heaviside
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_heaviside x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_heaviside errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_heaviside :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_heaviside x = casadi__DMatrix__zz_heaviside (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_hessian__0" c_casadi__DMatrix__zz_hessian__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__zz_hessian__0
+  :: DMatrix -> DMatrix -> DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__zz_hessian__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_hessian__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_hessian__0 :: DMatrixClass a => a -> DMatrix -> DMatrix -> DMatrix -> IO ()
+dmatrix_zz_hessian__0 x = casadi__DMatrix__zz_hessian__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_hessian__1" c_casadi__DMatrix__zz_hessian__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_hessian__1
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_hessian__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_hessian__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_hessian__1 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_hessian__1 x = casadi__DMatrix__zz_hessian__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_horzcat" c_casadi__DMatrix__zz_horzcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_horzcat
+  :: Vector DMatrix -> IO DMatrix
+casadi__DMatrix__zz_horzcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_horzcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_horzcat :: Vector DMatrix -> IO DMatrix
+dmatrix_zz_horzcat = casadi__DMatrix__zz_horzcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_horzsplit" c_casadi__DMatrix__zz_horzsplit
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DMatrix')))
+casadi__DMatrix__zz_horzsplit
+  :: DMatrix -> Vector Int -> IO (Vector DMatrix)
+casadi__DMatrix__zz_horzsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_horzsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_horzsplit :: DMatrixClass a => a -> Vector Int -> IO (Vector DMatrix)
+dmatrix_zz_horzsplit x = casadi__DMatrix__zz_horzsplit (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_if_else" c_casadi__DMatrix__zz_if_else
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_if_else
+  :: DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_if_else x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_if_else errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_if_else :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_if_else x = casadi__DMatrix__zz_if_else (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_if_else_zero" c_casadi__DMatrix__zz_if_else_zero
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_if_else_zero
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_if_else_zero x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_if_else_zero errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_if_else_zero :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_if_else_zero x = casadi__DMatrix__zz_if_else_zero (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_inner_prod" c_casadi__DMatrix__zz_inner_prod
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_inner_prod
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_inner_prod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_inner_prod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_inner_prod :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_inner_prod x = casadi__DMatrix__zz_inner_prod (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_inv" c_casadi__DMatrix__zz_inv
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_inv
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_inv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_inv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_inv :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_inv x = casadi__DMatrix__zz_inv (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_isEqual__0" c_casadi__DMatrix__zz_isEqual__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__zz_isEqual__0
+  :: DMatrix -> DMatrix -> IO Bool
+casadi__DMatrix__zz_isEqual__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_isEqual__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_isEqual__0 :: DMatrixClass a => a -> DMatrix -> IO Bool
+dmatrix_zz_isEqual__0 x = casadi__DMatrix__zz_isEqual__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_isEqual__1" c_casadi__DMatrix__zz_isEqual__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO CInt
+casadi__DMatrix__zz_isEqual__1
+  :: DMatrix -> DMatrix -> Int -> IO Bool
+casadi__DMatrix__zz_isEqual__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_isEqual__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_isEqual__1 :: DMatrixClass a => a -> DMatrix -> Int -> IO Bool
+dmatrix_zz_isEqual__1 x = casadi__DMatrix__zz_isEqual__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_jacobian" c_casadi__DMatrix__zz_jacobian
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_jacobian
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_jacobian x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_jacobian errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_jacobian :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_jacobian x = casadi__DMatrix__zz_jacobian (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_jacobianTimesVector__0" c_casadi__DMatrix__zz_jacobianTimesVector__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_jacobianTimesVector__0
+  :: DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_jacobianTimesVector__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_jacobianTimesVector__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_jacobianTimesVector__0 :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_jacobianTimesVector__0 x = casadi__DMatrix__zz_jacobianTimesVector__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_jacobianTimesVector__1" c_casadi__DMatrix__zz_jacobianTimesVector__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_jacobianTimesVector__1
+  :: DMatrix -> DMatrix -> DMatrix -> Bool -> IO DMatrix
+casadi__DMatrix__zz_jacobianTimesVector__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_jacobianTimesVector__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_jacobianTimesVector__1 :: DMatrixClass a => a -> DMatrix -> DMatrix -> Bool -> IO DMatrix
+dmatrix_zz_jacobianTimesVector__1 x = casadi__DMatrix__zz_jacobianTimesVector__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_kron" c_casadi__DMatrix__zz_kron
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_kron
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_kron x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_kron errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_kron :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_kron x = casadi__DMatrix__zz_kron (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_le" c_casadi__DMatrix__zz_le
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_le
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_le x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_le errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_le :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_le x = casadi__DMatrix__zz_le (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_linspace" c_casadi__DMatrix__zz_linspace
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_linspace
+  :: DMatrix -> DMatrix -> Int -> IO DMatrix
+casadi__DMatrix__zz_linspace x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_linspace errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_linspace :: DMatrixClass a => a -> DMatrix -> Int -> IO DMatrix
+dmatrix_zz_linspace x = casadi__DMatrix__zz_linspace (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_log" c_casadi__DMatrix__zz_log
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_log
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_log x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_log errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_log :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_log x = casadi__DMatrix__zz_log (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_log10" c_casadi__DMatrix__zz_log10
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_log10
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_log10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_log10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_log10 :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_log10 x = casadi__DMatrix__zz_log10 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_lt" c_casadi__DMatrix__zz_lt
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_lt
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_lt x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_lt errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_lt :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_lt x = casadi__DMatrix__zz_lt (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_max" c_casadi__DMatrix__zz_max
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_max
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_max x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_max errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_max :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_max x = casadi__DMatrix__zz_max (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_min" c_casadi__DMatrix__zz_min
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_min
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_min x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_min errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_min :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_min x = casadi__DMatrix__zz_min (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_minus" c_casadi__DMatrix__zz_minus
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_minus
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_minus x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_minus errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_minus :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_minus x = casadi__DMatrix__zz_minus (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_mod" c_casadi__DMatrix__zz_mod
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_mod
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_mod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_mod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_mod :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_mod x = casadi__DMatrix__zz_mod (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_mpower" c_casadi__DMatrix__zz_mpower
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_mpower
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_mpower x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_mpower errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_mpower :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_mpower x = casadi__DMatrix__zz_mpower (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_mtaylor__0" c_casadi__DMatrix__zz_mtaylor__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_mtaylor__0
+  :: DMatrix -> DMatrix -> DMatrix -> Int -> Vector Int -> IO DMatrix
+casadi__DMatrix__zz_mtaylor__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_mtaylor__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_mtaylor__0 :: DMatrixClass a => a -> DMatrix -> DMatrix -> Int -> Vector Int -> IO DMatrix
+dmatrix_zz_mtaylor__0 x = casadi__DMatrix__zz_mtaylor__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_mtaylor__1" c_casadi__DMatrix__zz_mtaylor__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_mtaylor__1
+  :: DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_mtaylor__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_mtaylor__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_mtaylor__1 :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_mtaylor__1 x = casadi__DMatrix__zz_mtaylor__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_mtaylor__2" c_casadi__DMatrix__zz_mtaylor__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_mtaylor__2
+  :: DMatrix -> DMatrix -> DMatrix -> Int -> IO DMatrix
+casadi__DMatrix__zz_mtaylor__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_mtaylor__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_mtaylor__2 :: DMatrixClass a => a -> DMatrix -> DMatrix -> Int -> IO DMatrix
+dmatrix_zz_mtaylor__2 x = casadi__DMatrix__zz_mtaylor__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_mtimes__0" c_casadi__DMatrix__zz_mtimes__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_mtimes__0
+  :: DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_mtimes__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_mtimes__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_mtimes__0 :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_mtimes__0 x = casadi__DMatrix__zz_mtimes__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_mtimes__1" c_casadi__DMatrix__zz_mtimes__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_mtimes__1
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_mtimes__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_mtimes__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_mtimes__1 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_mtimes__1 x = casadi__DMatrix__zz_mtimes__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_ne" c_casadi__DMatrix__zz_ne
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_ne
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_ne x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_ne errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_ne :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_ne x = casadi__DMatrix__zz_ne (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_norm_0_mul_nn" c_casadi__DMatrix__zz_norm_0_mul_nn
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
+casadi__DMatrix__zz_norm_0_mul_nn
+  :: DMatrix -> DMatrix -> Vector Bool -> Vector Int -> IO Int
+casadi__DMatrix__zz_norm_0_mul_nn x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_norm_0_mul_nn errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_norm_0_mul_nn :: DMatrixClass a => a -> DMatrix -> Vector Bool -> Vector Int -> IO Int
+dmatrix_zz_norm_0_mul_nn x = casadi__DMatrix__zz_norm_0_mul_nn (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_norm_1" c_casadi__DMatrix__zz_norm_1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_norm_1
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_norm_1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_norm_1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_norm_1 :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_norm_1 x = casadi__DMatrix__zz_norm_1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_norm_2" c_casadi__DMatrix__zz_norm_2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_norm_2
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_norm_2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_norm_2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_norm_2 :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_norm_2 x = casadi__DMatrix__zz_norm_2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_norm_F" c_casadi__DMatrix__zz_norm_F
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_norm_F
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_norm_F x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_norm_F errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_norm_F :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_norm_F x = casadi__DMatrix__zz_norm_F (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_norm_inf" c_casadi__DMatrix__zz_norm_inf
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_norm_inf
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_norm_inf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_norm_inf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_norm_inf :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_norm_inf x = casadi__DMatrix__zz_norm_inf (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_norm_inf_mul_nn" c_casadi__DMatrix__zz_norm_inf_mul_nn
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CInt) -> IO CDouble
+casadi__DMatrix__zz_norm_inf_mul_nn
+  :: DMatrix -> DMatrix -> Vector Double -> Vector Int -> IO Double
+casadi__DMatrix__zz_norm_inf_mul_nn x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_norm_inf_mul_nn errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_norm_inf_mul_nn :: DMatrixClass a => a -> DMatrix -> Vector Double -> Vector Int -> IO Double
+dmatrix_zz_norm_inf_mul_nn x = casadi__DMatrix__zz_norm_inf_mul_nn (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_not" c_casadi__DMatrix__zz_not
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_not
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_not x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_not errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_not :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_not x = casadi__DMatrix__zz_not (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_nullspace" c_casadi__DMatrix__zz_nullspace
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_nullspace
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_nullspace x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_nullspace errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_nullspace :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_nullspace x = casadi__DMatrix__zz_nullspace (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_or" c_casadi__DMatrix__zz_or
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_or
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_or x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_or errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_or :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_or x = casadi__DMatrix__zz_or (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_outer_prod" c_casadi__DMatrix__zz_outer_prod
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_outer_prod
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_outer_prod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_outer_prod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_outer_prod :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_outer_prod x = casadi__DMatrix__zz_outer_prod (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_pinv" c_casadi__DMatrix__zz_pinv
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_pinv
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_pinv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_pinv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_pinv :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_pinv x = casadi__DMatrix__zz_pinv (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_plus" c_casadi__DMatrix__zz_plus
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_plus
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_plus x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_plus errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_plus :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_plus x = casadi__DMatrix__zz_plus (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_poly_coeff" c_casadi__DMatrix__zz_poly_coeff
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_poly_coeff
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_poly_coeff x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_poly_coeff errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_poly_coeff :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_poly_coeff x = casadi__DMatrix__zz_poly_coeff (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_poly_roots" c_casadi__DMatrix__zz_poly_roots
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_poly_roots
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_poly_roots x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_poly_roots errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_poly_roots :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_poly_roots x = casadi__DMatrix__zz_poly_roots (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_polyval" c_casadi__DMatrix__zz_polyval
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_polyval
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_polyval x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_polyval errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_polyval :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_polyval x = casadi__DMatrix__zz_polyval (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_power" c_casadi__DMatrix__zz_power
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_power
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_power x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_power errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_power :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_power x = casadi__DMatrix__zz_power (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_printCompact" c_casadi__DMatrix__zz_printCompact
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__zz_printCompact
+  :: DMatrix -> IO ()
+casadi__DMatrix__zz_printCompact x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_printCompact errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_printCompact :: DMatrixClass a => a -> IO ()
+dmatrix_zz_printCompact x = casadi__DMatrix__zz_printCompact (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_project" c_casadi__DMatrix__zz_project
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_project
+  :: DMatrix -> Sparsity -> IO DMatrix
+casadi__DMatrix__zz_project x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_project errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_project :: DMatrixClass a => a -> Sparsity -> IO DMatrix
+dmatrix_zz_project x = casadi__DMatrix__zz_project (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_pw_const" c_casadi__DMatrix__zz_pw_const
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_pw_const
+  :: DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_pw_const x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_pw_const errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_pw_const :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_pw_const x = casadi__DMatrix__zz_pw_const (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_pw_lin" c_casadi__DMatrix__zz_pw_lin
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_pw_lin
+  :: DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_pw_lin x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_pw_lin errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_pw_lin :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_pw_lin x = casadi__DMatrix__zz_pw_lin (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_qr" c_casadi__DMatrix__zz_qr
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
+casadi__DMatrix__zz_qr
+  :: DMatrix -> DMatrix -> DMatrix -> IO ()
+casadi__DMatrix__zz_qr x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_qr errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_qr :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO ()
+dmatrix_zz_qr x = casadi__DMatrix__zz_qr (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_quad_form__0" c_casadi__DMatrix__zz_quad_form__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_quad_form__0
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_quad_form__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_quad_form__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_quad_form__0 :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_quad_form__0 x = casadi__DMatrix__zz_quad_form__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_quad_form__1" c_casadi__DMatrix__zz_quad_form__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_quad_form__1
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_quad_form__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_quad_form__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_quad_form__1 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_quad_form__1 x = casadi__DMatrix__zz_quad_form__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_ramp" c_casadi__DMatrix__zz_ramp
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_ramp
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_ramp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_ramp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_ramp :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_ramp x = casadi__DMatrix__zz_ramp (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_rdivide" c_casadi__DMatrix__zz_rdivide
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_rdivide
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_rdivide x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_rdivide errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_rdivide :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_rdivide x = casadi__DMatrix__zz_rdivide (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_rectangle" c_casadi__DMatrix__zz_rectangle
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_rectangle
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_rectangle x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_rectangle errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_rectangle :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_rectangle x = casadi__DMatrix__zz_rectangle (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_repmat__0" c_casadi__DMatrix__zz_repmat__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_repmat__0
+  :: DMatrix -> Sparsity -> IO DMatrix
+casadi__DMatrix__zz_repmat__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_repmat__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_repmat__0 :: DMatrixClass a => a -> Sparsity -> IO DMatrix
+dmatrix_zz_repmat__0 x = casadi__DMatrix__zz_repmat__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_repmat__1" c_casadi__DMatrix__zz_repmat__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_repmat__1
+  :: DMatrix -> Int -> IO DMatrix
+casadi__DMatrix__zz_repmat__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_repmat__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_repmat__1 :: DMatrixClass a => a -> Int -> IO DMatrix
+dmatrix_zz_repmat__1 x = casadi__DMatrix__zz_repmat__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_repmat__2" c_casadi__DMatrix__zz_repmat__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_repmat__2
+  :: DMatrix -> Int -> Int -> IO DMatrix
+casadi__DMatrix__zz_repmat__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_repmat__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_repmat__2 :: DMatrixClass a => a -> Int -> Int -> IO DMatrix
+dmatrix_zz_repmat__2 x = casadi__DMatrix__zz_repmat__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_reshape__0" c_casadi__DMatrix__zz_reshape__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_reshape__0
+  :: DMatrix -> Sparsity -> IO DMatrix
+casadi__DMatrix__zz_reshape__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_reshape__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_reshape__0 :: DMatrixClass a => a -> Sparsity -> IO DMatrix
+dmatrix_zz_reshape__0 x = casadi__DMatrix__zz_reshape__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_reshape__1" c_casadi__DMatrix__zz_reshape__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_reshape__1
+  :: DMatrix -> Int -> Int -> IO DMatrix
+casadi__DMatrix__zz_reshape__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_reshape__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_reshape__1 :: DMatrixClass a => a -> Int -> Int -> IO DMatrix
+dmatrix_zz_reshape__1 x = casadi__DMatrix__zz_reshape__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sign" c_casadi__DMatrix__zz_sign
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sign
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sign x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sign errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sign :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sign x = casadi__DMatrix__zz_sign (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_simplify" c_casadi__DMatrix__zz_simplify
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_simplify
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_simplify x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_simplify errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_simplify :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_simplify x = casadi__DMatrix__zz_simplify (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sin" c_casadi__DMatrix__zz_sin
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sin
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sin :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sin x = casadi__DMatrix__zz_sin (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sinh" c_casadi__DMatrix__zz_sinh
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sinh
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sinh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sinh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sinh :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sinh x = casadi__DMatrix__zz_sinh (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_solve" c_casadi__DMatrix__zz_solve
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_solve
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_solve x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_solve errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_solve :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_solve x = casadi__DMatrix__zz_solve (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sparsify__0" c_casadi__DMatrix__zz_sparsify__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sparsify__0
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sparsify__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sparsify__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sparsify__0 :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sparsify__0 x = casadi__DMatrix__zz_sparsify__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sparsify__1" c_casadi__DMatrix__zz_sparsify__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sparsify__1
+  :: DMatrix -> Double -> IO DMatrix
+casadi__DMatrix__zz_sparsify__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sparsify__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sparsify__1 :: DMatrixClass a => a -> Double -> IO DMatrix
+dmatrix_zz_sparsify__1 x = casadi__DMatrix__zz_sparsify__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sprank__0" c_casadi__DMatrix__zz_sprank__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__zz_sprank__0
+  :: DMatrix -> IO Int
+casadi__DMatrix__zz_sprank__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sprank__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sprank__0 :: DMatrixClass a => a -> IO Int
+dmatrix_zz_sprank__0 x = casadi__DMatrix__zz_sprank__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sprank__1" c_casadi__DMatrix__zz_sprank__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
+casadi__DMatrix__zz_sprank__1
+  :: DMatrix -> IO Int
+casadi__DMatrix__zz_sprank__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sprank__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sprank__1 :: DMatrixClass a => a -> IO Int
+dmatrix_zz_sprank__1 x = casadi__DMatrix__zz_sprank__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_spy" c_casadi__DMatrix__zz_spy
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_spy
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_spy x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_spy errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_spy :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_spy x = casadi__DMatrix__zz_spy (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sqrt" c_casadi__DMatrix__zz_sqrt
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sqrt
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sqrt x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sqrt errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sqrt :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sqrt x = casadi__DMatrix__zz_sqrt (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_substitute__0" c_casadi__DMatrix__zz_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+casadi__DMatrix__zz_substitute__0
+  :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> IO (Vector DMatrix)
+casadi__DMatrix__zz_substitute__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_substitute__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_substitute__0 :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> IO (Vector DMatrix)
+dmatrix_zz_substitute__0 = casadi__DMatrix__zz_substitute__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_substitute__1" c_casadi__DMatrix__zz_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_substitute__1
+  :: DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_substitute__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_substitute__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_substitute__1 :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_substitute__1 x = casadi__DMatrix__zz_substitute__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_substituteInPlace__0" c_casadi__DMatrix__zz_substituteInPlace__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> IO ()
+casadi__DMatrix__zz_substituteInPlace__0
+  :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> IO ()
+casadi__DMatrix__zz_substituteInPlace__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_substituteInPlace__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_substituteInPlace__0 :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> IO ()
+dmatrix_zz_substituteInPlace__0 = casadi__DMatrix__zz_substituteInPlace__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_substituteInPlace__1" c_casadi__DMatrix__zz_substituteInPlace__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> CInt -> IO ()
+casadi__DMatrix__zz_substituteInPlace__1
+  :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> Bool -> IO ()
+casadi__DMatrix__zz_substituteInPlace__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_substituteInPlace__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_substituteInPlace__1 :: Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> Bool -> IO ()
+dmatrix_zz_substituteInPlace__1 = casadi__DMatrix__zz_substituteInPlace__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sumAll" c_casadi__DMatrix__zz_sumAll
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sumAll
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sumAll x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sumAll errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sumAll :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sumAll x = casadi__DMatrix__zz_sumAll (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sumCols" c_casadi__DMatrix__zz_sumCols
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sumCols
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sumCols x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sumCols errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sumCols :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sumCols x = casadi__DMatrix__zz_sumCols (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sumRows" c_casadi__DMatrix__zz_sumRows
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sumRows
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sumRows x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sumRows errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sumRows :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sumRows x = casadi__DMatrix__zz_sumRows (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_sum_square" c_casadi__DMatrix__zz_sum_square
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_sum_square
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_sum_square x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_sum_square errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_sum_square :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_sum_square x = casadi__DMatrix__zz_sum_square (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_tan" c_casadi__DMatrix__zz_tan
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_tan
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_tan x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_tan errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_tan :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_tan x = casadi__DMatrix__zz_tan (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_tangent" c_casadi__DMatrix__zz_tangent
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_tangent
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_tangent x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_tangent errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_tangent :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_tangent x = casadi__DMatrix__zz_tangent (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_tanh" c_casadi__DMatrix__zz_tanh
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_tanh
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_tanh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_tanh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_tanh :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_tanh x = casadi__DMatrix__zz_tanh (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_taylor__0" c_casadi__DMatrix__zz_taylor__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_taylor__0
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_taylor__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_taylor__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_taylor__0 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_taylor__0 x = casadi__DMatrix__zz_taylor__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_taylor__1" c_casadi__DMatrix__zz_taylor__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_taylor__1
+  :: DMatrix -> DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_taylor__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_taylor__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_taylor__1 :: DMatrixClass a => a -> DMatrix -> DMatrix -> IO DMatrix
+dmatrix_zz_taylor__1 x = casadi__DMatrix__zz_taylor__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_taylor__2" c_casadi__DMatrix__zz_taylor__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_taylor__2
+  :: DMatrix -> DMatrix -> DMatrix -> Int -> IO DMatrix
+casadi__DMatrix__zz_taylor__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_taylor__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_taylor__2 :: DMatrixClass a => a -> DMatrix -> DMatrix -> Int -> IO DMatrix
+dmatrix_zz_taylor__2 x = casadi__DMatrix__zz_taylor__2 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_times" c_casadi__DMatrix__zz_times
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_times
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_times x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_times errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_times :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_times x = casadi__DMatrix__zz_times (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_trace" c_casadi__DMatrix__zz_trace
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_trace
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_trace x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_trace errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_trace :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_trace x = casadi__DMatrix__zz_trace (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_triangle" c_casadi__DMatrix__zz_triangle
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_triangle
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_triangle x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_triangle errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_triangle :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_triangle x = casadi__DMatrix__zz_triangle (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_tril__0" c_casadi__DMatrix__zz_tril__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_tril__0
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_tril__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_tril__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_tril__0 :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_tril__0 x = casadi__DMatrix__zz_tril__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_tril__1" c_casadi__DMatrix__zz_tril__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_tril__1
+  :: DMatrix -> Bool -> IO DMatrix
+casadi__DMatrix__zz_tril__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_tril__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_tril__1 :: DMatrixClass a => a -> Bool -> IO DMatrix
+dmatrix_zz_tril__1 x = casadi__DMatrix__zz_tril__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_tril2symm" c_casadi__DMatrix__zz_tril2symm
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_tril2symm
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_tril2symm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_tril2symm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_tril2symm :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_tril2symm x = casadi__DMatrix__zz_tril2symm (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_triu__0" c_casadi__DMatrix__zz_triu__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_triu__0
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_triu__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_triu__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_triu__0 :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_triu__0 x = casadi__DMatrix__zz_triu__0 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_triu__1" c_casadi__DMatrix__zz_triu__1
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_triu__1
+  :: DMatrix -> Bool -> IO DMatrix
+casadi__DMatrix__zz_triu__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_triu__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_triu__1 :: DMatrixClass a => a -> Bool -> IO DMatrix
+dmatrix_zz_triu__1 x = casadi__DMatrix__zz_triu__1 (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_triu2symm" c_casadi__DMatrix__zz_triu2symm
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_triu2symm
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_triu2symm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_triu2symm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_triu2symm :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_triu2symm x = casadi__DMatrix__zz_triu2symm (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_unite" c_casadi__DMatrix__zz_unite
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_unite
+  :: DMatrix -> DMatrix -> IO DMatrix
+casadi__DMatrix__zz_unite x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_unite errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_unite :: DMatrixClass a => a -> DMatrix -> IO DMatrix
+dmatrix_zz_unite x = casadi__DMatrix__zz_unite (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_vec" c_casadi__DMatrix__zz_vec
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_vec
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_vec x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_vec errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_vec :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_vec x = casadi__DMatrix__zz_vec (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_vecNZ" c_casadi__DMatrix__zz_vecNZ
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_vecNZ
+  :: DMatrix -> IO DMatrix
+casadi__DMatrix__zz_vecNZ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_vecNZ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_vecNZ :: DMatrixClass a => a -> IO DMatrix
+dmatrix_zz_vecNZ x = casadi__DMatrix__zz_vecNZ (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_vecNZcat" c_casadi__DMatrix__zz_vecNZcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_vecNZcat
+  :: Vector DMatrix -> IO DMatrix
+casadi__DMatrix__zz_vecNZcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_vecNZcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_vecNZcat :: Vector DMatrix -> IO DMatrix
+dmatrix_zz_vecNZcat = casadi__DMatrix__zz_vecNZcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_veccat" c_casadi__DMatrix__zz_veccat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_veccat
+  :: Vector DMatrix -> IO DMatrix
+casadi__DMatrix__zz_veccat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_veccat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_veccat :: Vector DMatrix -> IO DMatrix
+dmatrix_zz_veccat = casadi__DMatrix__zz_veccat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_vertcat" c_casadi__DMatrix__zz_vertcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
+casadi__DMatrix__zz_vertcat
+  :: Vector DMatrix -> IO DMatrix
+casadi__DMatrix__zz_vertcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_vertcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_vertcat :: Vector DMatrix -> IO DMatrix
+dmatrix_zz_vertcat = casadi__DMatrix__zz_vertcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__zz_vertsplit" c_casadi__DMatrix__zz_vertsplit
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DMatrix')))
+casadi__DMatrix__zz_vertsplit
+  :: DMatrix -> Vector Int -> IO (Vector DMatrix)
+casadi__DMatrix__zz_vertsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__zz_vertsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_zz_vertsplit :: DMatrixClass a => a -> Vector Int -> IO (Vector DMatrix)
+dmatrix_zz_vertsplit x = casadi__DMatrix__zz_vertsplit (castDMatrix x)
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/DerivativeGenerator.hs b/Casadi/Core/Classes/DerivativeGenerator.hs
--- a/Casadi/Core/Classes/DerivativeGenerator.hs
+++ b/Casadi/Core/Classes/DerivativeGenerator.hs
@@ -30,7 +30,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__DerivativeGenerator__CONSTRUCTOR" c_casadi__DerivativeGenerator__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr DerivativeGenerator')
diff --git a/Casadi/Core/Classes/DleSolver.hs b/Casadi/Core/Classes/DleSolver.hs
--- a/Casadi/Core/Classes/DleSolver.hs
+++ b/Casadi/Core/Classes/DleSolver.hs
@@ -35,7 +35,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__DleSolver__CONSTRUCTOR" c_casadi__DleSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr DleSolver')
diff --git a/Casadi/Core/Classes/DpleSolver.hs b/Casadi/Core/Classes/DpleSolver.hs
--- a/Casadi/Core/Classes/DpleSolver.hs
+++ b/Casadi/Core/Classes/DpleSolver.hs
@@ -15,6 +15,8 @@
          dpleSolver_doc,
          dpleSolver_hasPlugin,
          dpleSolver_loadPlugin,
+         dpleSolver_periodic_schur__0,
+         dpleSolver_periodic_schur__1,
          dpleSolver_printStats,
        ) where
 
@@ -36,7 +38,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__DpleSolver__CONSTRUCTOR__0" c_casadi__DpleSolver__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr Sparsity')) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr DpleSolver')
@@ -157,6 +158,57 @@
 -- classy wrapper
 dpleSolver_loadPlugin :: String -> IO ()
 dpleSolver_loadPlugin = casadi__DpleSolver__loadPlugin
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DpleSolver__periodic_schur__0" c_casadi__DpleSolver__periodic_schur__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> IO ()
+casadi__DpleSolver__periodic_schur__0
+  :: String -> Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> Vector Double -> Vector Double -> IO ()
+casadi__DpleSolver__periodic_schur__0 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DpleSolver__periodic_schur__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dpleSolver_periodic_schur__0 :: String -> Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> Vector Double -> Vector Double -> IO ()
+dpleSolver_periodic_schur__0 = casadi__DpleSolver__periodic_schur__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DpleSolver__periodic_schur__1" c_casadi__DpleSolver__periodic_schur__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> CDouble -> IO ()
+casadi__DpleSolver__periodic_schur__1
+  :: String -> Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> Vector Double -> Vector Double -> Double -> IO ()
+casadi__DpleSolver__periodic_schur__1 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DpleSolver__periodic_schur__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dpleSolver_periodic_schur__1 :: String -> Vector DMatrix -> Vector DMatrix -> Vector DMatrix -> Vector Double -> Vector Double -> Double -> IO ()
+dpleSolver_periodic_schur__1 = casadi__DpleSolver__periodic_schur__1
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/ExternalFunction.hs b/Casadi/Core/Classes/ExternalFunction.hs
--- a/Casadi/Core/Classes/ExternalFunction.hs
+++ b/Casadi/Core/Classes/ExternalFunction.hs
@@ -31,7 +31,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__ExternalFunction__CONSTRUCTOR__0" c_casadi__ExternalFunction__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr ExternalFunction')
diff --git a/Casadi/Core/Classes/Function.hs b/Casadi/Core/Classes/Function.hs
--- a/Casadi/Core/Classes/Function.hs
+++ b/Casadi/Core/Classes/Function.hs
@@ -37,6 +37,7 @@
          function_generateCode__0,
          function_generateCode__1,
          function_generateCode__2,
+         function_generateCode__3,
          function_getInputScheme,
          function_getNumInputElements,
          function_getNumInputNonzeros,
@@ -142,7 +143,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__Function__CONSTRUCTOR" c_casadi__Function__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr Function')
@@ -185,7 +185,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__0" c_casadi__Function__call__0
+foreign import ccall safe "casadi__Function__call__0" c_casadi__Function__call__0
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
 casadi__Function__call__0
   :: Function -> Vector MX -> IO (Vector MX)
@@ -206,7 +206,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__1" c_casadi__Function__call__1
+foreign import ccall safe "casadi__Function__call__1" c_casadi__Function__call__1
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> CInt -> IO (Ptr (StdVec (Ptr MX')))
 casadi__Function__call__1
   :: Function -> Vector MX -> Bool -> IO (Vector MX)
@@ -228,7 +228,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__2" c_casadi__Function__call__2
+foreign import ccall safe "casadi__Function__call__2" c_casadi__Function__call__2
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> CInt -> CInt -> IO (Ptr (StdVec (Ptr MX')))
 casadi__Function__call__2
   :: Function -> Vector MX -> Bool -> Bool -> IO (Vector MX)
@@ -251,7 +251,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__3" c_casadi__Function__call__3
+foreign import ccall safe "casadi__Function__call__3" c_casadi__Function__call__3
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
 casadi__Function__call__3
   :: Function -> Vector SX -> IO (Vector SX)
@@ -272,7 +272,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__4" c_casadi__Function__call__4
+foreign import ccall safe "casadi__Function__call__4" c_casadi__Function__call__4
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> CInt -> IO (Ptr (StdVec (Ptr SX')))
 casadi__Function__call__4
   :: Function -> Vector SX -> Bool -> IO (Vector SX)
@@ -294,7 +294,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__5" c_casadi__Function__call__5
+foreign import ccall safe "casadi__Function__call__5" c_casadi__Function__call__5
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> CInt -> CInt -> IO (Ptr (StdVec (Ptr SX')))
 casadi__Function__call__5
   :: Function -> Vector SX -> Bool -> Bool -> IO (Vector SX)
@@ -317,7 +317,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__6" c_casadi__Function__call__6
+foreign import ccall safe "casadi__Function__call__6" c_casadi__Function__call__6
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
 casadi__Function__call__6
   :: Function -> Vector DMatrix -> IO (Vector DMatrix)
@@ -338,7 +338,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__7" c_casadi__Function__call__7
+foreign import ccall safe "casadi__Function__call__7" c_casadi__Function__call__7
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DMatrix')) -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
 casadi__Function__call__7
   :: Function -> Vector DMatrix -> Bool -> IO (Vector DMatrix)
@@ -360,7 +360,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__call__8" c_casadi__Function__call__8
+foreign import ccall safe "casadi__Function__call__8" c_casadi__Function__call__8
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DMatrix')) -> CInt -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
 casadi__Function__call__8
   :: Function -> Vector DMatrix -> Bool -> Bool -> IO (Vector DMatrix)
@@ -383,7 +383,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__0" c_casadi__Function__callDerivative__0
+foreign import ccall safe "casadi__Function__callDerivative__0" c_casadi__Function__callDerivative__0
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> IO ()
 casadi__Function__callDerivative__0
   :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> IO ()
@@ -409,7 +409,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__1" c_casadi__Function__callDerivative__1
+foreign import ccall safe "casadi__Function__callDerivative__1" c_casadi__Function__callDerivative__1
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> CInt -> IO ()
 casadi__Function__callDerivative__1
   :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> IO ()
@@ -436,7 +436,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__2" c_casadi__Function__callDerivative__2
+foreign import ccall safe "casadi__Function__callDerivative__2" c_casadi__Function__callDerivative__2
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> CInt -> CInt -> IO ()
 casadi__Function__callDerivative__2
   :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> Bool -> IO ()
@@ -464,7 +464,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__3" c_casadi__Function__callDerivative__3
+foreign import ccall safe "casadi__Function__callDerivative__3" c_casadi__Function__callDerivative__3
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> IO ()
 casadi__Function__callDerivative__3
   :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> IO ()
@@ -490,7 +490,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__4" c_casadi__Function__callDerivative__4
+foreign import ccall safe "casadi__Function__callDerivative__4" c_casadi__Function__callDerivative__4
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> CInt -> IO ()
 casadi__Function__callDerivative__4
   :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> IO ()
@@ -517,7 +517,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__5" c_casadi__Function__callDerivative__5
+foreign import ccall safe "casadi__Function__callDerivative__5" c_casadi__Function__callDerivative__5
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> CInt -> CInt -> IO ()
 casadi__Function__callDerivative__5
   :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> Bool -> IO ()
@@ -545,7 +545,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__6" c_casadi__Function__callDerivative__6
+foreign import ccall safe "casadi__Function__callDerivative__6" c_casadi__Function__callDerivative__6
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> IO ()
 casadi__Function__callDerivative__6
   :: Function -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> IO ()
@@ -571,7 +571,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__7" c_casadi__Function__callDerivative__7
+foreign import ccall safe "casadi__Function__callDerivative__7" c_casadi__Function__callDerivative__7
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> CInt -> IO ()
 casadi__Function__callDerivative__7
   :: Function -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Bool -> IO ()
@@ -598,7 +598,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callDerivative__8" c_casadi__Function__callDerivative__8
+foreign import ccall safe "casadi__Function__callDerivative__8" c_casadi__Function__callDerivative__8
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> CInt -> CInt -> IO ()
 casadi__Function__callDerivative__8
   :: Function -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Bool -> Bool -> IO ()
@@ -626,7 +626,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__callParallel" c_casadi__Function__callParallel
+foreign import ccall safe "casadi__Function__callParallel" c_casadi__Function__callParallel
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
 casadi__Function__callParallel
   :: Function -> Vector (Vector MX) -> IO (Vector (Vector MX))
@@ -667,7 +667,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__derivative" c_casadi__Function__derivative
+foreign import ccall safe "casadi__Function__derivative" c_casadi__Function__derivative
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__derivative
   :: Function -> Int -> Int -> IO Function
@@ -730,65 +730,88 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Function__generateCode__0" c_casadi__Function__generateCode__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr StdString)
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
 casadi__Function__generateCode__0
-  :: Function -> IO String
-casadi__Function__generateCode__0 x0 =
+  :: Function -> String -> IO ()
+casadi__Function__generateCode__0 x0 x1 =
   withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__Function__generateCode__0 errStrPtrP x0'
+    ret <- c_casadi__Function__generateCode__0 errStrPtrP x0' x1'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-function_generateCode__0 :: FunctionClass a => a -> IO String
+function_generateCode__0 :: FunctionClass a => a -> String -> IO ()
 function_generateCode__0 x = casadi__Function__generateCode__0 (castFunction x)
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Function__generateCode__1" c_casadi__Function__generateCode__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO ()
 casadi__Function__generateCode__1
-  :: Function -> String -> IO ()
-casadi__Function__generateCode__1 x0 x1 =
+  :: Function -> String -> Bool -> IO ()
+casadi__Function__generateCode__1 x0 x1 x2 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__Function__generateCode__1 errStrPtrP x0' x1'
+    ret <- c_casadi__Function__generateCode__1 errStrPtrP x0' x1' x2'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-function_generateCode__1 :: FunctionClass a => a -> String -> IO ()
+function_generateCode__1 :: FunctionClass a => a -> String -> Bool -> IO ()
 function_generateCode__1 x = casadi__Function__generateCode__1 (castFunction x)
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Function__generateCode__2" c_casadi__Function__generateCode__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO ()
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
 casadi__Function__generateCode__2
+  :: Function -> String -> IO ()
+casadi__Function__generateCode__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Function__generateCode__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+function_generateCode__2 :: FunctionClass a => a -> String -> IO ()
+function_generateCode__2 x = casadi__Function__generateCode__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__generateCode__3" c_casadi__Function__generateCode__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO ()
+casadi__Function__generateCode__3
   :: Function -> String -> Bool -> IO ()
-casadi__Function__generateCode__2 x0 x1 x2 =
+casadi__Function__generateCode__3 x0 x1 x2 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__Function__generateCode__2 errStrPtrP x0' x1' x2'
+    ret <- c_casadi__Function__generateCode__3 errStrPtrP x0' x1' x2'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-function_generateCode__2 :: FunctionClass a => a -> String -> Bool -> IO ()
-function_generateCode__2 x = casadi__Function__generateCode__2 (castFunction x)
+function_generateCode__3 :: FunctionClass a => a -> String -> Bool -> IO ()
+function_generateCode__3 x = casadi__Function__generateCode__3 (castFunction x)
 
 
 -- direct wrapper
@@ -953,7 +976,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__gradient__0" c_casadi__Function__gradient__0
+foreign import ccall safe "casadi__Function__gradient__0" c_casadi__Function__gradient__0
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__gradient__0
   :: Function -> String -> String -> IO Function
@@ -975,7 +998,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__gradient__1" c_casadi__Function__gradient__1
+foreign import ccall safe "casadi__Function__gradient__1" c_casadi__Function__gradient__1
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__gradient__1
   :: Function -> Int -> String -> IO Function
@@ -997,7 +1020,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__gradient__2" c_casadi__Function__gradient__2
+foreign import ccall safe "casadi__Function__gradient__2" c_casadi__Function__gradient__2
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__gradient__2
   :: Function -> String -> IO Function
@@ -1018,7 +1041,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__gradient__3" c_casadi__Function__gradient__3
+foreign import ccall safe "casadi__Function__gradient__3" c_casadi__Function__gradient__3
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
 casadi__Function__gradient__3
   :: Function -> String -> Int -> IO Function
@@ -1040,7 +1063,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__gradient__4" c_casadi__Function__gradient__4
+foreign import ccall safe "casadi__Function__gradient__4" c_casadi__Function__gradient__4
   :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
 casadi__Function__gradient__4
   :: Function -> IO Function
@@ -1060,7 +1083,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__gradient__5" c_casadi__Function__gradient__5
+foreign import ccall safe "casadi__Function__gradient__5" c_casadi__Function__gradient__5
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
 casadi__Function__gradient__5
   :: Function -> Int -> IO Function
@@ -1081,7 +1104,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__gradient__6" c_casadi__Function__gradient__6
+foreign import ccall safe "casadi__Function__gradient__6" c_casadi__Function__gradient__6
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__gradient__6
   :: Function -> Int -> Int -> IO Function
@@ -1103,7 +1126,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__hessian__0" c_casadi__Function__hessian__0
+foreign import ccall safe "casadi__Function__hessian__0" c_casadi__Function__hessian__0
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__hessian__0
   :: Function -> String -> String -> IO Function
@@ -1125,7 +1148,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__hessian__1" c_casadi__Function__hessian__1
+foreign import ccall safe "casadi__Function__hessian__1" c_casadi__Function__hessian__1
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__hessian__1
   :: Function -> Int -> String -> IO Function
@@ -1147,7 +1170,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__hessian__2" c_casadi__Function__hessian__2
+foreign import ccall safe "casadi__Function__hessian__2" c_casadi__Function__hessian__2
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__hessian__2
   :: Function -> String -> IO Function
@@ -1168,7 +1191,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__hessian__3" c_casadi__Function__hessian__3
+foreign import ccall safe "casadi__Function__hessian__3" c_casadi__Function__hessian__3
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
 casadi__Function__hessian__3
   :: Function -> String -> Int -> IO Function
@@ -1190,7 +1213,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__hessian__4" c_casadi__Function__hessian__4
+foreign import ccall safe "casadi__Function__hessian__4" c_casadi__Function__hessian__4
   :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
 casadi__Function__hessian__4
   :: Function -> IO Function
@@ -1210,7 +1233,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__hessian__5" c_casadi__Function__hessian__5
+foreign import ccall safe "casadi__Function__hessian__5" c_casadi__Function__hessian__5
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
 casadi__Function__hessian__5
   :: Function -> Int -> IO Function
@@ -1231,7 +1254,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__hessian__6" c_casadi__Function__hessian__6
+foreign import ccall safe "casadi__Function__hessian__6" c_casadi__Function__hessian__6
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__hessian__6
   :: Function -> Int -> Int -> IO Function
@@ -1631,7 +1654,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__0" c_casadi__Function__jacobian__0
+foreign import ccall safe "casadi__Function__jacobian__0" c_casadi__Function__jacobian__0
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__jacobian__0
   :: Function -> String -> String -> IO Function
@@ -1653,7 +1676,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__1" c_casadi__Function__jacobian__1
+foreign import ccall safe "casadi__Function__jacobian__1" c_casadi__Function__jacobian__1
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__1
   :: Function -> String -> String -> Bool -> IO Function
@@ -1676,7 +1699,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__2" c_casadi__Function__jacobian__2
+foreign import ccall safe "casadi__Function__jacobian__2" c_casadi__Function__jacobian__2
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__2
   :: Function -> String -> String -> Bool -> Bool -> IO Function
@@ -1700,7 +1723,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__3" c_casadi__Function__jacobian__3
+foreign import ccall safe "casadi__Function__jacobian__3" c_casadi__Function__jacobian__3
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__jacobian__3
   :: Function -> Int -> String -> IO Function
@@ -1722,7 +1745,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__4" c_casadi__Function__jacobian__4
+foreign import ccall safe "casadi__Function__jacobian__4" c_casadi__Function__jacobian__4
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__4
   :: Function -> Int -> String -> Bool -> IO Function
@@ -1745,7 +1768,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__5" c_casadi__Function__jacobian__5
+foreign import ccall safe "casadi__Function__jacobian__5" c_casadi__Function__jacobian__5
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__5
   :: Function -> Int -> String -> Bool -> Bool -> IO Function
@@ -1769,7 +1792,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__6" c_casadi__Function__jacobian__6
+foreign import ccall safe "casadi__Function__jacobian__6" c_casadi__Function__jacobian__6
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__jacobian__6
   :: Function -> String -> IO Function
@@ -1790,7 +1813,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__7" c_casadi__Function__jacobian__7
+foreign import ccall safe "casadi__Function__jacobian__7" c_casadi__Function__jacobian__7
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__7
   :: Function -> String -> Int -> IO Function
@@ -1812,7 +1835,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__8" c_casadi__Function__jacobian__8
+foreign import ccall safe "casadi__Function__jacobian__8" c_casadi__Function__jacobian__8
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__8
   :: Function -> String -> Int -> Bool -> IO Function
@@ -1835,7 +1858,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__9" c_casadi__Function__jacobian__9
+foreign import ccall safe "casadi__Function__jacobian__9" c_casadi__Function__jacobian__9
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__9
   :: Function -> String -> Int -> Bool -> Bool -> IO Function
@@ -1859,7 +1882,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__10" c_casadi__Function__jacobian__10
+foreign import ccall safe "casadi__Function__jacobian__10" c_casadi__Function__jacobian__10
   :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
 casadi__Function__jacobian__10
   :: Function -> IO Function
@@ -1879,7 +1902,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__11" c_casadi__Function__jacobian__11
+foreign import ccall safe "casadi__Function__jacobian__11" c_casadi__Function__jacobian__11
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__11
   :: Function -> Int -> IO Function
@@ -1900,7 +1923,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__12" c_casadi__Function__jacobian__12
+foreign import ccall safe "casadi__Function__jacobian__12" c_casadi__Function__jacobian__12
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__12
   :: Function -> Int -> Int -> IO Function
@@ -1922,7 +1945,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__13" c_casadi__Function__jacobian__13
+foreign import ccall safe "casadi__Function__jacobian__13" c_casadi__Function__jacobian__13
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__13
   :: Function -> Int -> Int -> Bool -> IO Function
@@ -1945,7 +1968,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__jacobian__14" c_casadi__Function__jacobian__14
+foreign import ccall safe "casadi__Function__jacobian__14" c_casadi__Function__jacobian__14
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__jacobian__14
   :: Function -> Int -> Int -> Bool -> Bool -> IO Function
@@ -2497,7 +2520,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__tangent__0" c_casadi__Function__tangent__0
+foreign import ccall safe "casadi__Function__tangent__0" c_casadi__Function__tangent__0
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__tangent__0
   :: Function -> String -> String -> IO Function
@@ -2519,7 +2542,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__tangent__1" c_casadi__Function__tangent__1
+foreign import ccall safe "casadi__Function__tangent__1" c_casadi__Function__tangent__1
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__tangent__1
   :: Function -> Int -> String -> IO Function
@@ -2541,7 +2564,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__tangent__2" c_casadi__Function__tangent__2
+foreign import ccall safe "casadi__Function__tangent__2" c_casadi__Function__tangent__2
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
 casadi__Function__tangent__2
   :: Function -> String -> IO Function
@@ -2562,7 +2585,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__tangent__3" c_casadi__Function__tangent__3
+foreign import ccall safe "casadi__Function__tangent__3" c_casadi__Function__tangent__3
   :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> CInt -> IO (Ptr Function')
 casadi__Function__tangent__3
   :: Function -> String -> Int -> IO Function
@@ -2584,7 +2607,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__tangent__4" c_casadi__Function__tangent__4
+foreign import ccall safe "casadi__Function__tangent__4" c_casadi__Function__tangent__4
   :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
 casadi__Function__tangent__4
   :: Function -> IO Function
@@ -2604,7 +2627,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__tangent__5" c_casadi__Function__tangent__5
+foreign import ccall safe "casadi__Function__tangent__5" c_casadi__Function__tangent__5
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Function')
 casadi__Function__tangent__5
   :: Function -> Int -> IO Function
@@ -2625,7 +2648,7 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Function__tangent__6" c_casadi__Function__tangent__6
+foreign import ccall safe "casadi__Function__tangent__6" c_casadi__Function__tangent__6
   :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
 casadi__Function__tangent__6
   :: Function -> Int -> Int -> IO Function
diff --git a/Casadi/Core/Classes/Functor.hs b/Casadi/Core/Classes/Functor.hs
--- a/Casadi/Core/Classes/Functor.hs
+++ b/Casadi/Core/Classes/Functor.hs
diff --git a/Casadi/Core/Classes/GenericType.hs b/Casadi/Core/Classes/GenericType.hs
--- a/Casadi/Core/Classes/GenericType.hs
+++ b/Casadi/Core/Classes/GenericType.hs
@@ -14,6 +14,7 @@
          genericType__10,
          genericType__11,
          genericType__12,
+         genericType__13,
          genericType__2,
          genericType__3,
          genericType__4,
@@ -36,6 +37,7 @@
          genericType_isFunction,
          genericType_isInt,
          genericType_isIntVector,
+         genericType_isIntVectorVector,
          genericType_isSharedObject,
          genericType_isString,
          genericType_isStringVector,
@@ -45,6 +47,7 @@
          genericType_toFunction,
          genericType_toInt,
          genericType_toIntVector,
+         genericType_toIntVectorVector,
          genericType_toSharedObject,
          genericType_toString,
          genericType_toStringVector,
@@ -69,7 +72,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__0" c_casadi__GenericType__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr Callback' -> IO (Ptr GenericType')
@@ -192,9 +194,9 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__6" c_casadi__GenericType__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CInt))) -> IO (Ptr GenericType')
 casadi__GenericType__CONSTRUCTOR__6
-  :: Vector Int -> IO GenericType
+  :: Vector (Vector Int) -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__6 x0 =
   withMarshal x0 $ \x0' ->
   do
@@ -206,7 +208,7 @@
 
 
 -- classy wrapper
-genericType__6 :: Vector Int -> IO GenericType
+genericType__6 :: Vector (Vector Int) -> IO GenericType
 genericType__6 = casadi__GenericType__CONSTRUCTOR__6
 
 
@@ -214,7 +216,7 @@
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__7" c_casadi__GenericType__CONSTRUCTOR__7
   :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr GenericType')
 casadi__GenericType__CONSTRUCTOR__7
-  :: Vector Bool -> IO GenericType
+  :: Vector Int -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__7 x0 =
   withMarshal x0 $ \x0' ->
   do
@@ -226,15 +228,15 @@
 
 
 -- classy wrapper
-genericType__7 :: Vector Bool -> IO GenericType
+genericType__7 :: Vector Int -> IO GenericType
 genericType__7 = casadi__GenericType__CONSTRUCTOR__7
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__8" c_casadi__GenericType__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr GenericType')
 casadi__GenericType__CONSTRUCTOR__8
-  :: String -> IO GenericType
+  :: Vector Bool -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__8 x0 =
   withMarshal x0 $ \x0' ->
   do
@@ -246,15 +248,15 @@
 
 
 -- classy wrapper
-genericType__8 :: String -> IO GenericType
+genericType__8 :: Vector Bool -> IO GenericType
 genericType__8 = casadi__GenericType__CONSTRUCTOR__8
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__9" c_casadi__GenericType__CONSTRUCTOR__9
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr GenericType')
 casadi__GenericType__CONSTRUCTOR__9
-  :: Double -> IO GenericType
+  :: String -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__9 x0 =
   withMarshal x0 $ \x0' ->
   do
@@ -266,15 +268,15 @@
 
 
 -- classy wrapper
-genericType__9 :: Double -> IO GenericType
+genericType__9 :: String -> IO GenericType
 genericType__9 = casadi__GenericType__CONSTRUCTOR__9
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__10" c_casadi__GenericType__CONSTRUCTOR__10
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr GenericType')
 casadi__GenericType__CONSTRUCTOR__10
-  :: Int -> IO GenericType
+  :: Double -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__10 x0 =
   withMarshal x0 $ \x0' ->
   do
@@ -286,7 +288,7 @@
 
 
 -- classy wrapper
-genericType__10 :: Int -> IO GenericType
+genericType__10 :: Double -> IO GenericType
 genericType__10 = casadi__GenericType__CONSTRUCTOR__10
 
 
@@ -294,7 +296,7 @@
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__11" c_casadi__GenericType__CONSTRUCTOR__11
   :: Ptr (Ptr StdString) -> CInt -> IO (Ptr GenericType')
 casadi__GenericType__CONSTRUCTOR__11
-  :: Bool -> IO GenericType
+  :: Int -> IO GenericType
 casadi__GenericType__CONSTRUCTOR__11 x0 =
   withMarshal x0 $ \x0' ->
   do
@@ -306,28 +308,48 @@
 
 
 -- classy wrapper
-genericType__11 :: Bool -> IO GenericType
+genericType__11 :: Int -> IO GenericType
 genericType__11 = casadi__GenericType__CONSTRUCTOR__11
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__12" c_casadi__GenericType__CONSTRUCTOR__12
-  :: Ptr (Ptr StdString) -> IO (Ptr GenericType')
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr GenericType')
 casadi__GenericType__CONSTRUCTOR__12
+  :: Bool -> IO GenericType
+casadi__GenericType__CONSTRUCTOR__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__GenericType__CONSTRUCTOR__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+genericType__12 :: Bool -> IO GenericType
+genericType__12 = casadi__GenericType__CONSTRUCTOR__12
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__CONSTRUCTOR__13" c_casadi__GenericType__CONSTRUCTOR__13
+  :: Ptr (Ptr StdString) -> IO (Ptr GenericType')
+casadi__GenericType__CONSTRUCTOR__13
   :: IO GenericType
-casadi__GenericType__CONSTRUCTOR__12  =
+casadi__GenericType__CONSTRUCTOR__13  =
 
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__GenericType__CONSTRUCTOR__12 errStrPtrP 
+    ret <- c_casadi__GenericType__CONSTRUCTOR__13 errStrPtrP 
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-genericType__12 :: IO GenericType
-genericType__12 = casadi__GenericType__CONSTRUCTOR__12
+genericType__13 :: IO GenericType
+genericType__13 = casadi__GenericType__CONSTRUCTOR__13
 
 
 -- direct wrapper
@@ -613,6 +635,26 @@
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__isIntVectorVector" c_casadi__GenericType__isIntVectorVector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
+casadi__GenericType__isIntVectorVector
+  :: GenericType -> IO Bool
+casadi__GenericType__isIntVectorVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__GenericType__isIntVectorVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+genericType_isIntVectorVector :: GenericTypeClass a => a -> IO Bool
+genericType_isIntVectorVector x = casadi__GenericType__isIntVectorVector (castGenericType x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__isSharedObject" c_casadi__GenericType__isSharedObject
   :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
 casadi__GenericType__isSharedObject
@@ -790,6 +832,26 @@
 -- classy wrapper
 genericType_toIntVector :: GenericTypeClass a => a -> IO (Vector Int)
 genericType_toIntVector x = casadi__GenericType__toIntVector (castGenericType x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__toIntVectorVector" c_casadi__GenericType__toIntVectorVector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdVec (Ptr (StdVec CInt))))
+casadi__GenericType__toIntVectorVector
+  :: GenericType -> IO (Vector (Vector Int))
+casadi__GenericType__toIntVectorVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__GenericType__toIntVectorVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+genericType_toIntVectorVector :: GenericTypeClass a => a -> IO (Vector (Vector Int))
+genericType_toIntVectorVector x = casadi__GenericType__toIntVectorVector (castGenericType x)
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/HomotopyNlpSolver.hs b/Casadi/Core/Classes/HomotopyNlpSolver.hs
--- a/Casadi/Core/Classes/HomotopyNlpSolver.hs
+++ b/Casadi/Core/Classes/HomotopyNlpSolver.hs
@@ -33,7 +33,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__HomotopyNlpSolver__CONSTRUCTOR" c_casadi__HomotopyNlpSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr HomotopyNlpSolver')
diff --git a/Casadi/Core/Classes/IMatrix.hs b/Casadi/Core/Classes/IMatrix.hs
--- a/Casadi/Core/Classes/IMatrix.hs
+++ b/Casadi/Core/Classes/IMatrix.hs
@@ -9,6544 +9,7607 @@
        (
          IMatrix,
          IMatrixClass(..),
-         imatrix__0,
-         imatrix__1,
-         imatrix__2,
-         imatrix__3,
-         imatrix__4,
-         imatrix__5,
-         imatrix__6,
-         imatrix__7,
-         imatrix__8,
-         imatrix___add__,
-         imatrix___constpow__,
-         imatrix___copysign__,
-         imatrix___div__,
-         imatrix___eq__,
-         imatrix___ge____0,
-         imatrix___ge____1,
-         imatrix___gt____0,
-         imatrix___gt____1,
-         imatrix___le__,
-         imatrix___lt__,
-         imatrix___mldivide__,
-         imatrix___mpower__,
-         imatrix___mrdivide__,
-         imatrix___mul__,
-         imatrix___ne__,
-         imatrix___nonzero__,
-         imatrix___pow__,
-         imatrix___radd__,
-         imatrix___rdiv__,
-         imatrix___req__,
-         imatrix___rge__,
-         imatrix___rgt__,
-         imatrix___rle__,
-         imatrix___rlt__,
-         imatrix___rmul__,
-         imatrix___rne__,
-         imatrix___rsub__,
-         imatrix___rtruediv__,
-         imatrix___sub__,
-         imatrix___truediv____0,
-         imatrix___truediv____1,
-         imatrix_append,
-         imatrix_appendColumns,
-         imatrix_arccos,
-         imatrix_arccosh,
-         imatrix_arcsin,
-         imatrix_arcsinh,
-         imatrix_arctan,
-         imatrix_arctan2,
-         imatrix_arctanh,
-         imatrix_at,
-         imatrix_binary,
-         imatrix_ceil,
-         imatrix_className,
-         imatrix_clear,
-         imatrix_colind__0,
-         imatrix_colind__1,
-         imatrix_cos,
-         imatrix_cosh,
-         imatrix_data__0,
-         imatrix_data__1,
-         imatrix_densify__0,
-         imatrix_densify__1,
-         imatrix_dimString,
-         imatrix_elem__0,
-         imatrix_elem__1,
-         imatrix_enlarge,
-         imatrix_erase,
-         imatrix_erf,
-         imatrix_erfinv,
-         imatrix_exp,
-         imatrix_eye,
-         imatrix_fabs,
-         imatrix_floor,
-         imatrix_fmax,
-         imatrix_fmin,
-         imatrix_fmod,
-         imatrix_getDescription,
-         imatrix_getElement__0,
-         imatrix_getElement__1,
-         imatrix_getEqualityCheckingDepth,
-         imatrix_getMaxNumCallsInPrint,
-         imatrix_getNZ__0,
-         imatrix_getNZ__1,
-         imatrix_getNZ__2,
-         imatrix_getNZ__3,
-         imatrix_getName,
-         imatrix_getRepresentation,
-         imatrix_getValue,
-         imatrix_get__0,
-         imatrix_get__1,
-         imatrix_get__2,
-         imatrix_get__3,
-         imatrix_get__4,
-         imatrix_get__5,
-         imatrix_hasNZ,
-         imatrix_hasNonStructuralZeros,
-         imatrix_if_else_zero,
-         imatrix_indexed__0,
-         imatrix_indexed__1,
-         imatrix_indexed__2,
-         imatrix_indexed__3,
-         imatrix_indexed__4,
-         imatrix_indexed__5,
-         imatrix_indexed_assignment__0,
-         imatrix_indexed_assignment__1,
-         imatrix_indexed_assignment__2,
-         imatrix_indexed_assignment__3,
-         imatrix_indexed_assignment__4,
-         imatrix_indexed_assignment__5,
-         imatrix_indexed_one_based__0,
-         imatrix_indexed_one_based__1,
-         imatrix_indexed_one_based__2,
-         imatrix_indexed_one_based_assignment__0,
-         imatrix_indexed_one_based_assignment__1,
-         imatrix_indexed_one_based_assignment__2,
-         imatrix_indexed_zero_based__0,
-         imatrix_indexed_zero_based__1,
-         imatrix_indexed_zero_based__2,
-         imatrix_indexed_zero_based_assignment__0,
-         imatrix_indexed_zero_based_assignment__1,
-         imatrix_indexed_zero_based_assignment__2,
-         imatrix_inf__0,
-         imatrix_inf__1,
-         imatrix_inf__2,
-         imatrix_inf__3,
-         imatrix_isConstant,
-         imatrix_isDense,
-         imatrix_isEmpty__0,
-         imatrix_isEmpty__1,
-         imatrix_isEqual,
-         imatrix_isIdentity,
-         imatrix_isInteger,
-         imatrix_isMinusOne,
-         imatrix_isOne,
-         imatrix_isRegular,
-         imatrix_isScalar__0,
-         imatrix_isScalar__1,
-         imatrix_isSmooth,
-         imatrix_isSquare,
-         imatrix_isSymbolic,
-         imatrix_isSymbolicSparse,
-         imatrix_isTril,
-         imatrix_isTriu,
-         imatrix_isVector,
-         imatrix_isZero,
-         imatrix_log,
-         imatrix_log10,
-         imatrix_logic_and,
-         imatrix_logic_not,
-         imatrix_logic_or,
-         imatrix_matrix_matrix,
-         imatrix_matrix_scalar,
-         imatrix_mul__0,
-         imatrix_mul__1,
-         imatrix_mul_full__0,
-         imatrix_mul_full__1,
-         imatrix_mul_no_alloc_nn__0,
-         imatrix_mul_no_alloc_nn__1,
-         imatrix_mul_no_alloc_nn__2,
-         imatrix_mul_no_alloc_nt,
-         imatrix_mul_no_alloc_tn__0,
-         imatrix_mul_no_alloc_tn__1,
-         imatrix_mul_smart,
-         imatrix_nan__0,
-         imatrix_nan__1,
-         imatrix_nan__2,
-         imatrix_nan__3,
-         imatrix_numel,
-         imatrix_nz_indexed,
-         imatrix_nz_indexed_assignment,
-         imatrix_nz_indexed_one_based__0,
-         imatrix_nz_indexed_one_based__1,
-         imatrix_nz_indexed_one_based_assignment__0,
-         imatrix_nz_indexed_one_based_assignment__1,
-         imatrix_nz_indexed_zero_based__0,
-         imatrix_nz_indexed_zero_based__1,
-         imatrix_nz_indexed_zero_based_assignment__0,
-         imatrix_nz_indexed_zero_based_assignment__1,
-         imatrix_ones__0,
-         imatrix_ones__1,
-         imatrix_ones__2,
-         imatrix_ones__3,
-         imatrix_printDense,
-         imatrix_printScalar,
-         imatrix_printSparse,
-         imatrix_printVector,
-         imatrix_printme,
-         imatrix_quad_form,
-         imatrix_remove,
-         imatrix_repmat__0,
-         imatrix_repmat__1,
-         imatrix_repmat__2,
-         imatrix_repmat__3,
-         imatrix_reserve__0,
-         imatrix_reserve__1,
-         imatrix_resize,
-         imatrix_row__0,
-         imatrix_row__1,
-         imatrix_sanityCheck__0,
-         imatrix_sanityCheck__1,
-         imatrix_scalar_matrix,
-         imatrix_setAll,
-         imatrix_setEqualityCheckingDepth__0,
-         imatrix_setEqualityCheckingDepth__1,
-         imatrix_setMaxNumCallsInPrint__0,
-         imatrix_setMaxNumCallsInPrint__1,
-         imatrix_setNZ__0,
-         imatrix_setNZ__1,
-         imatrix_setNZ__2,
-         imatrix_setNZ__3,
-         imatrix_setPrecision,
-         imatrix_setScientific,
-         imatrix_setSparse__0,
-         imatrix_setSparse__1,
-         imatrix_setSub__0,
-         imatrix_setSub__1,
-         imatrix_setSub__10,
-         imatrix_setSub__11,
-         imatrix_setSub__12,
-         imatrix_setSub__13,
-         imatrix_setSub__14,
-         imatrix_setSub__15,
-         imatrix_setSub__16,
-         imatrix_setSub__2,
-         imatrix_setSub__3,
-         imatrix_setSub__4,
-         imatrix_setSub__5,
-         imatrix_setSub__6,
-         imatrix_setSub__7,
-         imatrix_setSub__8,
-         imatrix_setSub__9,
-         imatrix_setWidth,
-         imatrix_setZero,
-         imatrix_set__0,
-         imatrix_set__1,
-         imatrix_set__2,
-         imatrix_set__3,
-         imatrix_set__4,
-         imatrix_set__5,
-         imatrix_sign,
-         imatrix_sin,
-         imatrix_sinh,
-         imatrix_size1,
-         imatrix_size2,
-         imatrix_sizeD,
-         imatrix_sizeL,
-         imatrix_sizeU,
-         imatrix_size__0,
-         imatrix_size__1,
-         imatrix_sparse__0,
-         imatrix_sparse__1,
-         imatrix_sparse__2,
-         imatrix_sparsify__0,
-         imatrix_sparsify__1,
-         imatrix_sparsityRef__0,
-         imatrix_sparsityRef__1,
-         imatrix_sparsity__0,
-         imatrix_sparsity__1,
-         imatrix_sqrt,
-         imatrix_sub__0,
-         imatrix_sub__1,
-         imatrix_sub__10,
-         imatrix_sub__11,
-         imatrix_sub__12,
-         imatrix_sub__13,
-         imatrix_sub__14,
-         imatrix_sub__15,
-         imatrix_sub__16,
-         imatrix_sub__17,
-         imatrix_sub__2,
-         imatrix_sub__3,
-         imatrix_sub__4,
-         imatrix_sub__5,
-         imatrix_sub__6,
-         imatrix_sub__7,
-         imatrix_sub__8,
-         imatrix_sub__9,
-         imatrix_sym__0,
-         imatrix_sym__1,
-         imatrix_sym__2,
-         imatrix_sym__3,
-         imatrix_sym__4,
-         imatrix_sym__5,
-         imatrix_sym__6,
-         imatrix_sym__7,
-         imatrix_tan,
-         imatrix_tanh,
-         imatrix_toScalar,
-         imatrix_trans,
-         imatrix_triplet__0,
-         imatrix_triplet__1,
-         imatrix_unary,
-         imatrix_zeros__0,
-         imatrix_zeros__1,
-         imatrix_zeros__2,
-         imatrix_zeros__3,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.CToolsInstances ( )
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__0" c_casadi__IMatrix__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__0
-  :: Vector Int -> Int -> Int -> IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__0 :: Vector Int -> Int -> Int -> IO IMatrix
-imatrix__0 = casadi__IMatrix__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__1" c_casadi__IMatrix__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__1
-  :: Vector Int -> IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__1 :: Vector Int -> IO IMatrix
-imatrix__1 = casadi__IMatrix__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__2" c_casadi__IMatrix__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__2
-  :: Double -> IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__2 :: Double -> IO IMatrix
-imatrix__2 = casadi__IMatrix__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__3" c_casadi__IMatrix__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__3
-  :: Sparsity -> Vector Int -> IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__3 :: Sparsity -> Vector Int -> IO IMatrix
-imatrix__3 = casadi__IMatrix__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__4" c_casadi__IMatrix__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__4
-  :: Sparsity -> IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__4 :: Sparsity -> IO IMatrix
-imatrix__4 = casadi__IMatrix__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__5" c_casadi__IMatrix__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__5
-  :: Sparsity -> Int -> IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__5 :: Sparsity -> Int -> IO IMatrix
-imatrix__5 = casadi__IMatrix__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__6" c_casadi__IMatrix__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CInt))) -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__6
-  :: Vector (Vector Int) -> IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__6 :: Vector (Vector Int) -> IO IMatrix
-imatrix__6 = casadi__IMatrix__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__7" c_casadi__IMatrix__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__7
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__7 :: IMatrix -> IO IMatrix
-imatrix__7 = casadi__IMatrix__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__8" c_casadi__IMatrix__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
-casadi__IMatrix__CONSTRUCTOR__8
-  :: IO IMatrix
-casadi__IMatrix__CONSTRUCTOR__8  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__CONSTRUCTOR__8 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix__8 :: IO IMatrix
-imatrix__8 = casadi__IMatrix__CONSTRUCTOR__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____add__" c_casadi__IMatrix____add__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____add__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____add__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___add__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___add__ x = casadi__IMatrix____add__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____constpow__" c_casadi__IMatrix____constpow__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____constpow__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____constpow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___constpow__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___constpow__ x = casadi__IMatrix____constpow__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____copysign__" c_casadi__IMatrix____copysign__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____copysign__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____copysign__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___copysign__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___copysign__ x = casadi__IMatrix____copysign__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____div__" c_casadi__IMatrix____div__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____div__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____div__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___div__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___div__ x = casadi__IMatrix____div__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____eq__" c_casadi__IMatrix____eq__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____eq__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____eq__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___eq__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___eq__ x = casadi__IMatrix____eq__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____ge____0" c_casadi__IMatrix____ge____0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____ge____0
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____ge____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____ge____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___ge____0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___ge____0 x = casadi__IMatrix____ge____0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____ge____1" c_casadi__IMatrix____ge____1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____ge____1
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____ge____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____ge____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___ge____1 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___ge____1 x = casadi__IMatrix____ge____1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____gt____0" c_casadi__IMatrix____gt____0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____gt____0
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____gt____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____gt____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___gt____0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___gt____0 x = casadi__IMatrix____gt____0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____gt____1" c_casadi__IMatrix____gt____1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____gt____1
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____gt____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____gt____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___gt____1 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___gt____1 x = casadi__IMatrix____gt____1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____le__" c_casadi__IMatrix____le__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____le__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____le__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___le__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___le__ x = casadi__IMatrix____le__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____lt__" c_casadi__IMatrix____lt__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____lt__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____lt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___lt__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___lt__ x = casadi__IMatrix____lt__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____mldivide__" c_casadi__IMatrix____mldivide__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____mldivide__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____mldivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___mldivide__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___mldivide__ x = casadi__IMatrix____mldivide__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____mpower__" c_casadi__IMatrix____mpower__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____mpower__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____mpower__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___mpower__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___mpower__ x = casadi__IMatrix____mpower__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____mrdivide__" c_casadi__IMatrix____mrdivide__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____mrdivide__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____mrdivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___mrdivide__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___mrdivide__ x = casadi__IMatrix____mrdivide__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____mul__" c_casadi__IMatrix____mul__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____mul__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____mul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___mul__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___mul__ x = casadi__IMatrix____mul__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____ne__" c_casadi__IMatrix____ne__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____ne__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____ne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___ne__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___ne__ x = casadi__IMatrix____ne__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____nonzero__" c_casadi__IMatrix____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix____nonzero__
-  :: IMatrix -> IO Bool
-casadi__IMatrix____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____nonzero__ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___nonzero__ :: IMatrixClass a => a -> IO Bool
-imatrix___nonzero__ x = casadi__IMatrix____nonzero__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____pow__" c_casadi__IMatrix____pow__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____pow__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____pow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___pow__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___pow__ x = casadi__IMatrix____pow__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____radd__" c_casadi__IMatrix____radd__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____radd__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____radd__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___radd__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___radd__ x = casadi__IMatrix____radd__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rdiv__" c_casadi__IMatrix____rdiv__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rdiv__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rdiv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rdiv__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rdiv__ x = casadi__IMatrix____rdiv__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____req__" c_casadi__IMatrix____req__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____req__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____req__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___req__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___req__ x = casadi__IMatrix____req__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rge__" c_casadi__IMatrix____rge__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rge__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rge__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rge__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rge__ x = casadi__IMatrix____rge__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rgt__" c_casadi__IMatrix____rgt__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rgt__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rgt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rgt__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rgt__ x = casadi__IMatrix____rgt__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rle__" c_casadi__IMatrix____rle__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rle__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rle__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rle__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rle__ x = casadi__IMatrix____rle__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rlt__" c_casadi__IMatrix____rlt__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rlt__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rlt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rlt__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rlt__ x = casadi__IMatrix____rlt__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rmul__" c_casadi__IMatrix____rmul__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rmul__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rmul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rmul__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rmul__ x = casadi__IMatrix____rmul__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rne__" c_casadi__IMatrix____rne__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rne__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rne__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rne__ x = casadi__IMatrix____rne__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rsub__" c_casadi__IMatrix____rsub__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rsub__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rsub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rsub__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rsub__ x = casadi__IMatrix____rsub__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____rtruediv__" c_casadi__IMatrix____rtruediv__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____rtruediv__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____rtruediv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___rtruediv__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___rtruediv__ x = casadi__IMatrix____rtruediv__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____sub__" c_casadi__IMatrix____sub__
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____sub__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____sub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___sub__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___sub__ x = casadi__IMatrix____sub__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____truediv____0" c_casadi__IMatrix____truediv____0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____truediv____0
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____truediv____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____truediv____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___truediv____0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___truediv____0 x = casadi__IMatrix____truediv____0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix____truediv____1" c_casadi__IMatrix____truediv____1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix____truediv____1
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix____truediv____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix____truediv____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix___truediv____1 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___truediv____1 x = casadi__IMatrix____truediv____1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__append" c_casadi__IMatrix__append
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__append
-  :: IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__append errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_append :: IMatrixClass a => a -> IMatrix -> IO ()
-imatrix_append x = casadi__IMatrix__append (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__appendColumns" c_casadi__IMatrix__appendColumns
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__appendColumns
-  :: IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__appendColumns errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_appendColumns :: IMatrixClass a => a -> IMatrix -> IO ()
-imatrix_appendColumns x = casadi__IMatrix__appendColumns (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__arccos" c_casadi__IMatrix__arccos
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__arccos
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__arccos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__arccos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_arccos :: IMatrixClass a => a -> IO IMatrix
-imatrix_arccos x = casadi__IMatrix__arccos (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__arccosh" c_casadi__IMatrix__arccosh
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__arccosh
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__arccosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_arccosh :: IMatrixClass a => a -> IO IMatrix
-imatrix_arccosh x = casadi__IMatrix__arccosh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__arcsin" c_casadi__IMatrix__arcsin
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__arcsin
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__arcsin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_arcsin :: IMatrixClass a => a -> IO IMatrix
-imatrix_arcsin x = casadi__IMatrix__arcsin (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__arcsinh" c_casadi__IMatrix__arcsinh
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__arcsinh
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__arcsinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_arcsinh :: IMatrixClass a => a -> IO IMatrix
-imatrix_arcsinh x = casadi__IMatrix__arcsinh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__arctan" c_casadi__IMatrix__arctan
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__arctan
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__arctan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__arctan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_arctan :: IMatrixClass a => a -> IO IMatrix
-imatrix_arctan x = casadi__IMatrix__arctan (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__arctan2" c_casadi__IMatrix__arctan2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__arctan2
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__arctan2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_arctan2 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_arctan2 x = casadi__IMatrix__arctan2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__arctanh" c_casadi__IMatrix__arctanh
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__arctanh
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__arctanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_arctanh :: IMatrixClass a => a -> IO IMatrix
-imatrix_arctanh x = casadi__IMatrix__arctanh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__at" c_casadi__IMatrix__at
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
-casadi__IMatrix__at
-  :: IMatrix -> Int -> IO Int
-casadi__IMatrix__at x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__at errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_at :: IMatrixClass a => a -> Int -> IO Int
-imatrix_at x = casadi__IMatrix__at (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__binary" c_casadi__IMatrix__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__binary
-  :: Int -> IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__binary errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_binary :: Int -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_binary = casadi__IMatrix__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__ceil" c_casadi__IMatrix__ceil
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__ceil
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__ceil x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__ceil errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_ceil :: IMatrixClass a => a -> IO IMatrix
-imatrix_ceil x = casadi__IMatrix__ceil (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__className" c_casadi__IMatrix__className
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__IMatrix__className
-  :: IO String
-casadi__IMatrix__className  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__className errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_className :: IO String
-imatrix_className = casadi__IMatrix__className
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__clear" c_casadi__IMatrix__clear
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__clear
-  :: IMatrix -> IO ()
-casadi__IMatrix__clear x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__clear errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_clear :: IMatrixClass a => a -> IO ()
-imatrix_clear x = casadi__IMatrix__clear (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__colind__0" c_casadi__IMatrix__colind__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
-casadi__IMatrix__colind__0
-  :: IMatrix -> Int -> IO Int
-casadi__IMatrix__colind__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__colind__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_colind__0 :: IMatrixClass a => a -> Int -> IO Int
-imatrix_colind__0 x = casadi__IMatrix__colind__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__colind__1" c_casadi__IMatrix__colind__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec CInt))
-casadi__IMatrix__colind__1
-  :: IMatrix -> IO (Vector Int)
-casadi__IMatrix__colind__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__colind__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_colind__1 :: IMatrixClass a => a -> IO (Vector Int)
-imatrix_colind__1 x = casadi__IMatrix__colind__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__cos" c_casadi__IMatrix__cos
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__cos
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__cos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__cos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_cos :: IMatrixClass a => a -> IO IMatrix
-imatrix_cos x = casadi__IMatrix__cos (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__cosh" c_casadi__IMatrix__cosh
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__cosh
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__cosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__cosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_cosh :: IMatrixClass a => a -> IO IMatrix
-imatrix_cosh x = casadi__IMatrix__cosh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__data__0" c_casadi__IMatrix__data__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec CInt))
-casadi__IMatrix__data__0
-  :: IMatrix -> IO (Vector Int)
-casadi__IMatrix__data__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__data__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_data__0 :: IMatrixClass a => a -> IO (Vector Int)
-imatrix_data__0 x = casadi__IMatrix__data__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__data__1" c_casadi__IMatrix__data__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec CInt))
-casadi__IMatrix__data__1
-  :: IMatrix -> IO (Vector Int)
-casadi__IMatrix__data__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__data__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_data__1 :: IMatrixClass a => a -> IO (Vector Int)
-imatrix_data__1 x = casadi__IMatrix__data__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__densify__0" c_casadi__IMatrix__densify__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__densify__0
-  :: IMatrix -> IO ()
-casadi__IMatrix__densify__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__densify__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_densify__0 :: IMatrixClass a => a -> IO ()
-imatrix_densify__0 x = casadi__IMatrix__densify__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__densify__1" c_casadi__IMatrix__densify__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__densify__1
-  :: IMatrix -> Int -> IO ()
-casadi__IMatrix__densify__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__densify__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_densify__1 :: IMatrixClass a => a -> Int -> IO ()
-imatrix_densify__1 x = casadi__IMatrix__densify__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__dimString" c_casadi__IMatrix__dimString
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr StdString)
-casadi__IMatrix__dimString
-  :: IMatrix -> IO String
-casadi__IMatrix__dimString x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__dimString errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_dimString :: IMatrixClass a => a -> IO String
-imatrix_dimString x = casadi__IMatrix__dimString (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__elem__0" c_casadi__IMatrix__elem__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
-casadi__IMatrix__elem__0
-  :: IMatrix -> Int -> IO Int
-casadi__IMatrix__elem__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__elem__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_elem__0 :: IMatrixClass a => a -> Int -> IO Int
-imatrix_elem__0 x = casadi__IMatrix__elem__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__elem__1" c_casadi__IMatrix__elem__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO CInt
-casadi__IMatrix__elem__1
-  :: IMatrix -> Int -> Int -> IO Int
-casadi__IMatrix__elem__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__elem__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_elem__1 :: IMatrixClass a => a -> Int -> Int -> IO Int
-imatrix_elem__1 x = casadi__IMatrix__elem__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__enlarge" c_casadi__IMatrix__enlarge
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__enlarge
-  :: IMatrix -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__IMatrix__enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__enlarge errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_enlarge :: IMatrixClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-imatrix_enlarge x = casadi__IMatrix__enlarge (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__erase" c_casadi__IMatrix__erase
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__erase
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-casadi__IMatrix__erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__erase errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_erase :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
-imatrix_erase x = casadi__IMatrix__erase (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__erf" c_casadi__IMatrix__erf
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__erf
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__erf x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__erf errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_erf :: IMatrixClass a => a -> IO IMatrix
-imatrix_erf x = casadi__IMatrix__erf (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__erfinv" c_casadi__IMatrix__erfinv
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__erfinv
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__erfinv errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_erfinv :: IMatrixClass a => a -> IO IMatrix
-imatrix_erfinv x = casadi__IMatrix__erfinv (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__exp" c_casadi__IMatrix__exp
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__exp
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__exp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__exp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_exp :: IMatrixClass a => a -> IO IMatrix
-imatrix_exp x = casadi__IMatrix__exp (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__eye" c_casadi__IMatrix__eye
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__eye
-  :: Int -> IO IMatrix
-casadi__IMatrix__eye x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__eye errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_eye :: Int -> IO IMatrix
-imatrix_eye = casadi__IMatrix__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__fabs" c_casadi__IMatrix__fabs
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__fabs
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__fabs x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__fabs errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_fabs :: IMatrixClass a => a -> IO IMatrix
-imatrix_fabs x = casadi__IMatrix__fabs (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__floor" c_casadi__IMatrix__floor
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__floor
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__floor x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__floor errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_floor :: IMatrixClass a => a -> IO IMatrix
-imatrix_floor x = casadi__IMatrix__floor (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__fmax" c_casadi__IMatrix__fmax
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__fmax
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__fmax errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_fmax :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_fmax x = casadi__IMatrix__fmax (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__fmin" c_casadi__IMatrix__fmin
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__fmin
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__fmin errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_fmin :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_fmin x = casadi__IMatrix__fmin (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__fmod" c_casadi__IMatrix__fmod
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__fmod
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__fmod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__fmod errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_fmod :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_fmod x = casadi__IMatrix__fmod (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__get__0" c_casadi__IMatrix__get__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__get__0
-  :: IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__get__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__get__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_get__0 :: IMatrixClass a => a -> IMatrix -> IO ()
-imatrix_get__0 x = casadi__IMatrix__get__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__get__1" c_casadi__IMatrix__get__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__get__1
-  :: IMatrix -> IMatrix -> SparsityType -> IO ()
-casadi__IMatrix__get__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__get__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_get__1 :: IMatrixClass a => a -> IMatrix -> SparsityType -> IO ()
-imatrix_get__1 x = casadi__IMatrix__get__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__get__2" c_casadi__IMatrix__get__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__get__2
-  :: IMatrix -> Vector Int -> IO ()
-casadi__IMatrix__get__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__get__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_get__2 :: IMatrixClass a => a -> Vector Int -> IO ()
-imatrix_get__2 x = casadi__IMatrix__get__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__get__3" c_casadi__IMatrix__get__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
-casadi__IMatrix__get__3
-  :: IMatrix -> Vector Int -> SparsityType -> IO ()
-casadi__IMatrix__get__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__get__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_get__3 :: IMatrixClass a => a -> Vector Int -> SparsityType -> IO ()
-imatrix_get__3 x = casadi__IMatrix__get__3 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__get__4" c_casadi__IMatrix__get__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__get__4
-  :: IMatrix -> Int -> IO ()
-casadi__IMatrix__get__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__get__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_get__4 :: IMatrixClass a => a -> Int -> IO ()
-imatrix_get__4 x = casadi__IMatrix__get__4 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__get__5" c_casadi__IMatrix__get__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__get__5
-  :: IMatrix -> Int -> SparsityType -> IO ()
-casadi__IMatrix__get__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__get__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_get__5 :: IMatrixClass a => a -> Int -> SparsityType -> IO ()
-imatrix_get__5 x = casadi__IMatrix__get__5 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getElement__0" c_casadi__IMatrix__getElement__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
-casadi__IMatrix__getElement__0
-  :: IMatrix -> Int -> IO Int
-casadi__IMatrix__getElement__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getElement__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getElement__0 :: IMatrixClass a => a -> Int -> IO Int
-imatrix_getElement__0 x = casadi__IMatrix__getElement__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getElement__1" c_casadi__IMatrix__getElement__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO CInt
-casadi__IMatrix__getElement__1
-  :: IMatrix -> Int -> Int -> IO Int
-casadi__IMatrix__getElement__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getElement__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getElement__1 :: IMatrixClass a => a -> Int -> Int -> IO Int
-imatrix_getElement__1 x = casadi__IMatrix__getElement__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getEqualityCheckingDepth" c_casadi__IMatrix__getEqualityCheckingDepth
-  :: Ptr (Ptr StdString) -> IO CInt
-casadi__IMatrix__getEqualityCheckingDepth
-  :: IO Int
-casadi__IMatrix__getEqualityCheckingDepth  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getEqualityCheckingDepth errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getEqualityCheckingDepth :: IO Int
-imatrix_getEqualityCheckingDepth = casadi__IMatrix__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getMaxNumCallsInPrint" c_casadi__IMatrix__getMaxNumCallsInPrint
-  :: Ptr (Ptr StdString) -> IO CLong
-casadi__IMatrix__getMaxNumCallsInPrint
-  :: IO Int
-casadi__IMatrix__getMaxNumCallsInPrint  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getMaxNumCallsInPrint errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getMaxNumCallsInPrint :: IO Int
-imatrix_getMaxNumCallsInPrint = casadi__IMatrix__getMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getNZ__0" c_casadi__IMatrix__getNZ__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__getNZ__0
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__getNZ__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getNZ__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getNZ__0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_getNZ__0 x = casadi__IMatrix__getNZ__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getNZ__1" c_casadi__IMatrix__getNZ__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__getNZ__1
-  :: IMatrix -> Slice -> IO IMatrix
-casadi__IMatrix__getNZ__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getNZ__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getNZ__1 :: IMatrixClass a => a -> Slice -> IO IMatrix
-imatrix_getNZ__1 x = casadi__IMatrix__getNZ__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getNZ__2" c_casadi__IMatrix__getNZ__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
-casadi__IMatrix__getNZ__2
-  :: IMatrix -> Vector Int -> IO IMatrix
-casadi__IMatrix__getNZ__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getNZ__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getNZ__2 :: IMatrixClass a => a -> Vector Int -> IO IMatrix
-imatrix_getNZ__2 x = casadi__IMatrix__getNZ__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getNZ__3" c_casadi__IMatrix__getNZ__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__getNZ__3
-  :: IMatrix -> Int -> IO IMatrix
-casadi__IMatrix__getNZ__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getNZ__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getNZ__3 :: IMatrixClass a => a -> Int -> IO IMatrix
-imatrix_getNZ__3 x = casadi__IMatrix__getNZ__3 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getName" c_casadi__IMatrix__getName
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr StdString)
-casadi__IMatrix__getName
-  :: IMatrix -> IO String
-casadi__IMatrix__getName x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getName errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getName :: IMatrixClass a => a -> IO String
-imatrix_getName x = casadi__IMatrix__getName (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__getValue" c_casadi__IMatrix__getValue
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CDouble
-casadi__IMatrix__getValue
-  :: IMatrix -> IO Double
-casadi__IMatrix__getValue x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__getValue errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_getValue :: IMatrixClass a => a -> IO Double
-imatrix_getValue x = casadi__IMatrix__getValue (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__hasNZ" c_casadi__IMatrix__hasNZ
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO CInt
-casadi__IMatrix__hasNZ
-  :: IMatrix -> Int -> Int -> IO Bool
-casadi__IMatrix__hasNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__hasNZ errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_hasNZ :: IMatrixClass a => a -> Int -> Int -> IO Bool
-imatrix_hasNZ x = casadi__IMatrix__hasNZ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__hasNonStructuralZeros" c_casadi__IMatrix__hasNonStructuralZeros
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__hasNonStructuralZeros
-  :: IMatrix -> IO Bool
-casadi__IMatrix__hasNonStructuralZeros x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__hasNonStructuralZeros errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_hasNonStructuralZeros :: IMatrixClass a => a -> IO Bool
-imatrix_hasNonStructuralZeros x = casadi__IMatrix__hasNonStructuralZeros (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__if_else_zero" c_casadi__IMatrix__if_else_zero
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__if_else_zero
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__if_else_zero errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_if_else_zero :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_if_else_zero x = casadi__IMatrix__if_else_zero (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed__0" c_casadi__IMatrix__indexed__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed__0
-  :: IMatrix -> Slice -> IO IMatrix
-casadi__IMatrix__indexed__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed__0 :: IMatrixClass a => a -> Slice -> IO IMatrix
-imatrix_indexed__0 x = casadi__IMatrix__indexed__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed__1" c_casadi__IMatrix__indexed__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed__1
-  :: IMatrix -> Sparsity -> IO IMatrix
-casadi__IMatrix__indexed__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed__1 :: IMatrixClass a => a -> Sparsity -> IO IMatrix
-imatrix_indexed__1 x = casadi__IMatrix__indexed__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed__2" c_casadi__IMatrix__indexed__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed__2
-  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__indexed__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed__2 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_indexed__2 x = casadi__IMatrix__indexed__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed__3" c_casadi__IMatrix__indexed__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed__3
-  :: IMatrix -> IMatrix -> Slice -> IO IMatrix
-casadi__IMatrix__indexed__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed__3 :: IMatrixClass a => a -> IMatrix -> Slice -> IO IMatrix
-imatrix_indexed__3 x = casadi__IMatrix__indexed__3 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed__4" c_casadi__IMatrix__indexed__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed__4
-  :: IMatrix -> Slice -> IMatrix -> IO IMatrix
-casadi__IMatrix__indexed__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed__4 :: IMatrixClass a => a -> Slice -> IMatrix -> IO IMatrix
-imatrix_indexed__4 x = casadi__IMatrix__indexed__4 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed__5" c_casadi__IMatrix__indexed__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed__5
-  :: IMatrix -> Slice -> Slice -> IO IMatrix
-casadi__IMatrix__indexed__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed__5 :: IMatrixClass a => a -> Slice -> Slice -> IO IMatrix
-imatrix_indexed__5 x = casadi__IMatrix__indexed__5 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_assignment__0" c_casadi__IMatrix__indexed_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__indexed_assignment__0
-  :: IMatrix -> Slice -> IMatrix -> IO ()
-casadi__IMatrix__indexed_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_assignment__0 :: IMatrixClass a => a -> Slice -> IMatrix -> IO ()
-imatrix_indexed_assignment__0 x = casadi__IMatrix__indexed_assignment__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_assignment__1" c_casadi__IMatrix__indexed_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__indexed_assignment__1
-  :: IMatrix -> Sparsity -> IMatrix -> IO ()
-casadi__IMatrix__indexed_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_assignment__1 :: IMatrixClass a => a -> Sparsity -> IMatrix -> IO ()
-imatrix_indexed_assignment__1 x = casadi__IMatrix__indexed_assignment__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_assignment__2" c_casadi__IMatrix__indexed_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__indexed_assignment__2
-  :: IMatrix -> IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__indexed_assignment__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_assignment__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_assignment__2 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_assignment__2 x = casadi__IMatrix__indexed_assignment__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_assignment__3" c_casadi__IMatrix__indexed_assignment__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__indexed_assignment__3
-  :: IMatrix -> IMatrix -> Slice -> IMatrix -> IO ()
-casadi__IMatrix__indexed_assignment__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_assignment__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_assignment__3 :: IMatrixClass a => a -> IMatrix -> Slice -> IMatrix -> IO ()
-imatrix_indexed_assignment__3 x = casadi__IMatrix__indexed_assignment__3 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_assignment__4" c_casadi__IMatrix__indexed_assignment__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__indexed_assignment__4
-  :: IMatrix -> Slice -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__indexed_assignment__4 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_assignment__4 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_assignment__4 :: IMatrixClass a => a -> Slice -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_assignment__4 x = casadi__IMatrix__indexed_assignment__4 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_assignment__5" c_casadi__IMatrix__indexed_assignment__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__indexed_assignment__5
-  :: IMatrix -> Slice -> Slice -> IMatrix -> IO ()
-casadi__IMatrix__indexed_assignment__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_assignment__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_assignment__5 :: IMatrixClass a => a -> Slice -> Slice -> IMatrix -> IO ()
-imatrix_indexed_assignment__5 x = casadi__IMatrix__indexed_assignment__5 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_one_based__0" c_casadi__IMatrix__indexed_one_based__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed_one_based__0
-  :: IMatrix -> Int -> IO IMatrix
-casadi__IMatrix__indexed_one_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_one_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_one_based__0 :: IMatrixClass a => a -> Int -> IO IMatrix
-imatrix_indexed_one_based__0 x = casadi__IMatrix__indexed_one_based__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_one_based__1" c_casadi__IMatrix__indexed_one_based__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed_one_based__1
-  :: IMatrix -> Int -> Int -> IO IMatrix
-casadi__IMatrix__indexed_one_based__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_one_based__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_one_based__1 :: IMatrixClass a => a -> Int -> Int -> IO IMatrix
-imatrix_indexed_one_based__1 x = casadi__IMatrix__indexed_one_based__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_one_based__2" c_casadi__IMatrix__indexed_one_based__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed_one_based__2
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__indexed_one_based__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_one_based__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_one_based__2 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_indexed_one_based__2 x = casadi__IMatrix__indexed_one_based__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_one_based_assignment__0" c_casadi__IMatrix__indexed_one_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__indexed_one_based_assignment__0
-  :: IMatrix -> Int -> Int -> IO ()
-casadi__IMatrix__indexed_one_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_one_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_one_based_assignment__0 :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_indexed_one_based_assignment__0 x = casadi__IMatrix__indexed_one_based_assignment__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_one_based_assignment__1" c_casadi__IMatrix__indexed_one_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> CInt -> IO ()
-casadi__IMatrix__indexed_one_based_assignment__1
-  :: IMatrix -> Int -> Int -> Int -> IO ()
-casadi__IMatrix__indexed_one_based_assignment__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_one_based_assignment__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_one_based_assignment__1 :: IMatrixClass a => a -> Int -> Int -> Int -> IO ()
-imatrix_indexed_one_based_assignment__1 x = casadi__IMatrix__indexed_one_based_assignment__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_one_based_assignment__2" c_casadi__IMatrix__indexed_one_based_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__indexed_one_based_assignment__2
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__indexed_one_based_assignment__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_one_based_assignment__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_one_based_assignment__2 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_one_based_assignment__2 x = casadi__IMatrix__indexed_one_based_assignment__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_zero_based__0" c_casadi__IMatrix__indexed_zero_based__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed_zero_based__0
-  :: IMatrix -> Int -> IO IMatrix
-casadi__IMatrix__indexed_zero_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_zero_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_zero_based__0 :: IMatrixClass a => a -> Int -> IO IMatrix
-imatrix_indexed_zero_based__0 x = casadi__IMatrix__indexed_zero_based__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_zero_based__1" c_casadi__IMatrix__indexed_zero_based__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed_zero_based__1
-  :: IMatrix -> Int -> Int -> IO IMatrix
-casadi__IMatrix__indexed_zero_based__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_zero_based__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_zero_based__1 :: IMatrixClass a => a -> Int -> Int -> IO IMatrix
-imatrix_indexed_zero_based__1 x = casadi__IMatrix__indexed_zero_based__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_zero_based__2" c_casadi__IMatrix__indexed_zero_based__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__indexed_zero_based__2
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__indexed_zero_based__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_zero_based__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_zero_based__2 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_indexed_zero_based__2 x = casadi__IMatrix__indexed_zero_based__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_zero_based_assignment__0" c_casadi__IMatrix__indexed_zero_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__indexed_zero_based_assignment__0
-  :: IMatrix -> Int -> Int -> IO ()
-casadi__IMatrix__indexed_zero_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_zero_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_zero_based_assignment__0 :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_indexed_zero_based_assignment__0 x = casadi__IMatrix__indexed_zero_based_assignment__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_zero_based_assignment__1" c_casadi__IMatrix__indexed_zero_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> CInt -> IO ()
-casadi__IMatrix__indexed_zero_based_assignment__1
-  :: IMatrix -> Int -> Int -> Int -> IO ()
-casadi__IMatrix__indexed_zero_based_assignment__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_zero_based_assignment__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_zero_based_assignment__1 :: IMatrixClass a => a -> Int -> Int -> Int -> IO ()
-imatrix_indexed_zero_based_assignment__1 x = casadi__IMatrix__indexed_zero_based_assignment__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__indexed_zero_based_assignment__2" c_casadi__IMatrix__indexed_zero_based_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__indexed_zero_based_assignment__2
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__indexed_zero_based_assignment__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__indexed_zero_based_assignment__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_indexed_zero_based_assignment__2 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_zero_based_assignment__2 x = casadi__IMatrix__indexed_zero_based_assignment__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__inf__0" c_casadi__IMatrix__inf__0
-  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
-casadi__IMatrix__inf__0
-  :: IO IMatrix
-casadi__IMatrix__inf__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__inf__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_inf__0 :: IO IMatrix
-imatrix_inf__0 = casadi__IMatrix__inf__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__inf__1" c_casadi__IMatrix__inf__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__inf__1
-  :: Int -> IO IMatrix
-casadi__IMatrix__inf__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__inf__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_inf__1 :: Int -> IO IMatrix
-imatrix_inf__1 = casadi__IMatrix__inf__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__inf__2" c_casadi__IMatrix__inf__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__inf__2
-  :: Int -> Int -> IO IMatrix
-casadi__IMatrix__inf__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__inf__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_inf__2 :: Int -> Int -> IO IMatrix
-imatrix_inf__2 = casadi__IMatrix__inf__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__inf__3" c_casadi__IMatrix__inf__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__inf__3
-  :: Sparsity -> IO IMatrix
-casadi__IMatrix__inf__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__inf__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_inf__3 :: Sparsity -> IO IMatrix
-imatrix_inf__3 = casadi__IMatrix__inf__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isConstant" c_casadi__IMatrix__isConstant
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isConstant
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isConstant errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isConstant :: IMatrixClass a => a -> IO Bool
-imatrix_isConstant x = casadi__IMatrix__isConstant (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isDense" c_casadi__IMatrix__isDense
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isDense
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isDense x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isDense errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isDense :: IMatrixClass a => a -> IO Bool
-imatrix_isDense x = casadi__IMatrix__isDense (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isEmpty__0" c_casadi__IMatrix__isEmpty__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isEmpty__0
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isEmpty__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isEmpty__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isEmpty__0 :: IMatrixClass a => a -> IO Bool
-imatrix_isEmpty__0 x = casadi__IMatrix__isEmpty__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isEmpty__1" c_casadi__IMatrix__isEmpty__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
-casadi__IMatrix__isEmpty__1
-  :: IMatrix -> Bool -> IO Bool
-casadi__IMatrix__isEmpty__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isEmpty__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isEmpty__1 :: IMatrixClass a => a -> Bool -> IO Bool
-imatrix_isEmpty__1 x = casadi__IMatrix__isEmpty__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isEqual" c_casadi__IMatrix__isEqual
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isEqual
-  :: IMatrix -> IMatrix -> IO Bool
-casadi__IMatrix__isEqual x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isEqual errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isEqual :: IMatrixClass a => a -> IMatrix -> IO Bool
-imatrix_isEqual x = casadi__IMatrix__isEqual (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isIdentity" c_casadi__IMatrix__isIdentity
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isIdentity
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isIdentity x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isIdentity errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isIdentity :: IMatrixClass a => a -> IO Bool
-imatrix_isIdentity x = casadi__IMatrix__isIdentity (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isInteger" c_casadi__IMatrix__isInteger
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isInteger
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isInteger x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isInteger errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isInteger :: IMatrixClass a => a -> IO Bool
-imatrix_isInteger x = casadi__IMatrix__isInteger (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isMinusOne" c_casadi__IMatrix__isMinusOne
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isMinusOne
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isMinusOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isMinusOne :: IMatrixClass a => a -> IO Bool
-imatrix_isMinusOne x = casadi__IMatrix__isMinusOne (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isOne" c_casadi__IMatrix__isOne
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isOne
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isOne :: IMatrixClass a => a -> IO Bool
-imatrix_isOne x = casadi__IMatrix__isOne (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isRegular" c_casadi__IMatrix__isRegular
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isRegular
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isRegular errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isRegular :: IMatrixClass a => a -> IO Bool
-imatrix_isRegular x = casadi__IMatrix__isRegular (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isScalar__0" c_casadi__IMatrix__isScalar__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isScalar__0
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isScalar__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isScalar__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isScalar__0 :: IMatrixClass a => a -> IO Bool
-imatrix_isScalar__0 x = casadi__IMatrix__isScalar__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isScalar__1" c_casadi__IMatrix__isScalar__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
-casadi__IMatrix__isScalar__1
-  :: IMatrix -> Bool -> IO Bool
-casadi__IMatrix__isScalar__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isScalar__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isScalar__1 :: IMatrixClass a => a -> Bool -> IO Bool
-imatrix_isScalar__1 x = casadi__IMatrix__isScalar__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isSmooth" c_casadi__IMatrix__isSmooth
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isSmooth
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isSmooth x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isSmooth errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isSmooth :: IMatrixClass a => a -> IO Bool
-imatrix_isSmooth x = casadi__IMatrix__isSmooth (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isSquare" c_casadi__IMatrix__isSquare
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isSquare
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isSquare errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isSquare :: IMatrixClass a => a -> IO Bool
-imatrix_isSquare x = casadi__IMatrix__isSquare (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isSymbolic" c_casadi__IMatrix__isSymbolic
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isSymbolic
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isSymbolic errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isSymbolic :: IMatrixClass a => a -> IO Bool
-imatrix_isSymbolic x = casadi__IMatrix__isSymbolic (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isSymbolicSparse" c_casadi__IMatrix__isSymbolicSparse
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isSymbolicSparse
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isSymbolicSparse x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isSymbolicSparse errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isSymbolicSparse :: IMatrixClass a => a -> IO Bool
-imatrix_isSymbolicSparse x = casadi__IMatrix__isSymbolicSparse (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isTril" c_casadi__IMatrix__isTril
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isTril
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isTril x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isTril errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isTril :: IMatrixClass a => a -> IO Bool
-imatrix_isTril x = casadi__IMatrix__isTril (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isTriu" c_casadi__IMatrix__isTriu
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isTriu
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isTriu errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isTriu :: IMatrixClass a => a -> IO Bool
-imatrix_isTriu x = casadi__IMatrix__isTriu (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isVector" c_casadi__IMatrix__isVector
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isVector
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isVector x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isVector errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isVector :: IMatrixClass a => a -> IO Bool
-imatrix_isVector x = casadi__IMatrix__isVector (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__isZero" c_casadi__IMatrix__isZero
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__isZero
-  :: IMatrix -> IO Bool
-casadi__IMatrix__isZero x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__isZero errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_isZero :: IMatrixClass a => a -> IO Bool
-imatrix_isZero x = casadi__IMatrix__isZero (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__log" c_casadi__IMatrix__log
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__log
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__log x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__log errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_log :: IMatrixClass a => a -> IO IMatrix
-imatrix_log x = casadi__IMatrix__log (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__log10" c_casadi__IMatrix__log10
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__log10
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__log10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__log10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_log10 :: IMatrixClass a => a -> IO IMatrix
-imatrix_log10 x = casadi__IMatrix__log10 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__logic_and" c_casadi__IMatrix__logic_and
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__logic_and
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__logic_and errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_logic_and :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_logic_and x = casadi__IMatrix__logic_and (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__logic_not" c_casadi__IMatrix__logic_not
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__logic_not
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__logic_not errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_logic_not :: IMatrixClass a => a -> IO IMatrix
-imatrix_logic_not x = casadi__IMatrix__logic_not (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__logic_or" c_casadi__IMatrix__logic_or
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__logic_or
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__logic_or errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_logic_or :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_logic_or x = casadi__IMatrix__logic_or (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__matrix_matrix" c_casadi__IMatrix__matrix_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__matrix_matrix
-  :: Int -> IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__matrix_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__matrix_matrix errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_matrix_matrix :: Int -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_matrix_matrix = casadi__IMatrix__matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__matrix_scalar" c_casadi__IMatrix__matrix_scalar
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__matrix_scalar
-  :: Int -> IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__matrix_scalar x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__matrix_scalar errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_matrix_scalar :: Int -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_matrix_scalar = casadi__IMatrix__matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul__0" c_casadi__IMatrix__mul__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__mul__0
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__mul__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul__0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_mul__0 x = casadi__IMatrix__mul__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul__1" c_casadi__IMatrix__mul__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__mul__1
-  :: IMatrix -> IMatrix -> Sparsity -> IO IMatrix
-casadi__IMatrix__mul__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul__1 :: IMatrixClass a => a -> IMatrix -> Sparsity -> IO IMatrix
-imatrix_mul__1 x = casadi__IMatrix__mul__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_full__0" c_casadi__IMatrix__mul_full__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__mul_full__0
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__mul_full__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_full__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_full__0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_mul_full__0 x = casadi__IMatrix__mul_full__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_full__1" c_casadi__IMatrix__mul_full__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__mul_full__1
-  :: IMatrix -> IMatrix -> Sparsity -> IO IMatrix
-casadi__IMatrix__mul_full__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_full__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_full__1 :: IMatrixClass a => a -> IMatrix -> Sparsity -> IO IMatrix
-imatrix_mul_full__1 x = casadi__IMatrix__mul_full__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_nn__0" c_casadi__IMatrix__mul_no_alloc_nn__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__mul_no_alloc_nn__0
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-casadi__IMatrix__mul_no_alloc_nn__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_no_alloc_nn__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_no_alloc_nn__0 :: IMatrix -> Vector Int -> Vector Int -> IO ()
-imatrix_mul_no_alloc_nn__0 = casadi__IMatrix__mul_no_alloc_nn__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_nn__1" c_casadi__IMatrix__mul_no_alloc_nn__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__mul_no_alloc_nn__1
-  :: IMatrix -> IMatrix -> IMatrix -> Vector Int -> IO ()
-casadi__IMatrix__mul_no_alloc_nn__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_no_alloc_nn__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_no_alloc_nn__1 :: IMatrix -> IMatrix -> IMatrix -> Vector Int -> IO ()
-imatrix_mul_no_alloc_nn__1 = casadi__IMatrix__mul_no_alloc_nn__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_nn__2" c_casadi__IMatrix__mul_no_alloc_nn__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__mul_no_alloc_nn__2
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__mul_no_alloc_nn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_no_alloc_nn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_no_alloc_nn__2 :: IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_mul_no_alloc_nn__2 = casadi__IMatrix__mul_no_alloc_nn__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_nt" c_casadi__IMatrix__mul_no_alloc_nt
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__mul_no_alloc_nt
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__mul_no_alloc_nt x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_no_alloc_nt errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_no_alloc_nt :: IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_mul_no_alloc_nt = casadi__IMatrix__mul_no_alloc_nt
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_tn__0" c_casadi__IMatrix__mul_no_alloc_tn__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__mul_no_alloc_tn__0
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-casadi__IMatrix__mul_no_alloc_tn__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_no_alloc_tn__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_no_alloc_tn__0 :: IMatrix -> Vector Int -> Vector Int -> IO ()
-imatrix_mul_no_alloc_tn__0 = casadi__IMatrix__mul_no_alloc_tn__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_tn__1" c_casadi__IMatrix__mul_no_alloc_tn__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__mul_no_alloc_tn__1
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__mul_no_alloc_tn__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_no_alloc_tn__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_no_alloc_tn__1 :: IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_mul_no_alloc_tn__1 = casadi__IMatrix__mul_no_alloc_tn__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__mul_smart" c_casadi__IMatrix__mul_smart
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__mul_smart
-  :: IMatrix -> IMatrix -> Sparsity -> IO IMatrix
-casadi__IMatrix__mul_smart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__mul_smart errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_mul_smart :: IMatrixClass a => a -> IMatrix -> Sparsity -> IO IMatrix
-imatrix_mul_smart x = casadi__IMatrix__mul_smart (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nan__0" c_casadi__IMatrix__nan__0
-  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
-casadi__IMatrix__nan__0
-  :: IO IMatrix
-casadi__IMatrix__nan__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nan__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nan__0 :: IO IMatrix
-imatrix_nan__0 = casadi__IMatrix__nan__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nan__1" c_casadi__IMatrix__nan__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__nan__1
-  :: Int -> IO IMatrix
-casadi__IMatrix__nan__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nan__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nan__1 :: Int -> IO IMatrix
-imatrix_nan__1 = casadi__IMatrix__nan__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nan__2" c_casadi__IMatrix__nan__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__nan__2
-  :: Int -> Int -> IO IMatrix
-casadi__IMatrix__nan__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nan__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nan__2 :: Int -> Int -> IO IMatrix
-imatrix_nan__2 = casadi__IMatrix__nan__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nan__3" c_casadi__IMatrix__nan__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__nan__3
-  :: Sparsity -> IO IMatrix
-casadi__IMatrix__nan__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nan__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nan__3 :: Sparsity -> IO IMatrix
-imatrix_nan__3 = casadi__IMatrix__nan__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__numel" c_casadi__IMatrix__numel
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__numel
-  :: IMatrix -> IO Int
-casadi__IMatrix__numel x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__numel errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_numel :: IMatrixClass a => a -> IO Int
-imatrix_numel x = casadi__IMatrix__numel (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed" c_casadi__IMatrix__nz_indexed
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__nz_indexed
-  :: IMatrix -> Slice -> IO IMatrix
-casadi__IMatrix__nz_indexed x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed :: IMatrixClass a => a -> Slice -> IO IMatrix
-imatrix_nz_indexed x = casadi__IMatrix__nz_indexed (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_assignment" c_casadi__IMatrix__nz_indexed_assignment
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__nz_indexed_assignment
-  :: IMatrix -> Slice -> IMatrix -> IO ()
-casadi__IMatrix__nz_indexed_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_assignment errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_assignment :: IMatrixClass a => a -> Slice -> IMatrix -> IO ()
-imatrix_nz_indexed_assignment x = casadi__IMatrix__nz_indexed_assignment (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_one_based__0" c_casadi__IMatrix__nz_indexed_one_based__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__nz_indexed_one_based__0
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__nz_indexed_one_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_one_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_one_based__0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_nz_indexed_one_based__0 x = casadi__IMatrix__nz_indexed_one_based__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_one_based__1" c_casadi__IMatrix__nz_indexed_one_based__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__nz_indexed_one_based__1
-  :: IMatrix -> Int -> IO IMatrix
-casadi__IMatrix__nz_indexed_one_based__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_one_based__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_one_based__1 :: IMatrixClass a => a -> Int -> IO IMatrix
-imatrix_nz_indexed_one_based__1 x = casadi__IMatrix__nz_indexed_one_based__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_one_based_assignment__0" c_casadi__IMatrix__nz_indexed_one_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__nz_indexed_one_based_assignment__0
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__nz_indexed_one_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_one_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_one_based_assignment__0 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_nz_indexed_one_based_assignment__0 x = casadi__IMatrix__nz_indexed_one_based_assignment__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_one_based_assignment__1" c_casadi__IMatrix__nz_indexed_one_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__nz_indexed_one_based_assignment__1
-  :: IMatrix -> Int -> Int -> IO ()
-casadi__IMatrix__nz_indexed_one_based_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_one_based_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_one_based_assignment__1 :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_nz_indexed_one_based_assignment__1 x = casadi__IMatrix__nz_indexed_one_based_assignment__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_zero_based__0" c_casadi__IMatrix__nz_indexed_zero_based__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__nz_indexed_zero_based__0
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__nz_indexed_zero_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_zero_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_zero_based__0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_nz_indexed_zero_based__0 x = casadi__IMatrix__nz_indexed_zero_based__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_zero_based__1" c_casadi__IMatrix__nz_indexed_zero_based__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__nz_indexed_zero_based__1
-  :: IMatrix -> Int -> IO IMatrix
-casadi__IMatrix__nz_indexed_zero_based__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_zero_based__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_zero_based__1 :: IMatrixClass a => a -> Int -> IO IMatrix
-imatrix_nz_indexed_zero_based__1 x = casadi__IMatrix__nz_indexed_zero_based__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_zero_based_assignment__0" c_casadi__IMatrix__nz_indexed_zero_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__nz_indexed_zero_based_assignment__0
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__nz_indexed_zero_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_zero_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_zero_based_assignment__0 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_nz_indexed_zero_based_assignment__0 x = casadi__IMatrix__nz_indexed_zero_based_assignment__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__nz_indexed_zero_based_assignment__1" c_casadi__IMatrix__nz_indexed_zero_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__nz_indexed_zero_based_assignment__1
-  :: IMatrix -> Int -> Int -> IO ()
-casadi__IMatrix__nz_indexed_zero_based_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__nz_indexed_zero_based_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_nz_indexed_zero_based_assignment__1 :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_nz_indexed_zero_based_assignment__1 x = casadi__IMatrix__nz_indexed_zero_based_assignment__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__ones__0" c_casadi__IMatrix__ones__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__ones__0
-  :: Sparsity -> IO IMatrix
-casadi__IMatrix__ones__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__ones__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_ones__0 :: Sparsity -> IO IMatrix
-imatrix_ones__0 = casadi__IMatrix__ones__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__ones__1" c_casadi__IMatrix__ones__1
-  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
-casadi__IMatrix__ones__1
-  :: IO IMatrix
-casadi__IMatrix__ones__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__ones__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_ones__1 :: IO IMatrix
-imatrix_ones__1 = casadi__IMatrix__ones__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__ones__2" c_casadi__IMatrix__ones__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__ones__2
-  :: Int -> IO IMatrix
-casadi__IMatrix__ones__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__ones__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_ones__2 :: Int -> IO IMatrix
-imatrix_ones__2 = casadi__IMatrix__ones__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__ones__3" c_casadi__IMatrix__ones__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__ones__3
-  :: Int -> Int -> IO IMatrix
-casadi__IMatrix__ones__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__ones__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_ones__3 :: Int -> Int -> IO IMatrix
-imatrix_ones__3 = casadi__IMatrix__ones__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__printDense" c_casadi__IMatrix__printDense
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__printDense
-  :: IMatrix -> IO ()
-casadi__IMatrix__printDense x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__printDense errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_printDense :: IMatrixClass a => a -> IO ()
-imatrix_printDense x = casadi__IMatrix__printDense (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__printScalar" c_casadi__IMatrix__printScalar
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__printScalar
-  :: IMatrix -> IO ()
-casadi__IMatrix__printScalar x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__printScalar errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_printScalar :: IMatrixClass a => a -> IO ()
-imatrix_printScalar x = casadi__IMatrix__printScalar (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__printSparse" c_casadi__IMatrix__printSparse
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__printSparse
-  :: IMatrix -> IO ()
-casadi__IMatrix__printSparse x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__printSparse errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_printSparse :: IMatrixClass a => a -> IO ()
-imatrix_printSparse x = casadi__IMatrix__printSparse (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__printVector" c_casadi__IMatrix__printVector
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__printVector
-  :: IMatrix -> IO ()
-casadi__IMatrix__printVector x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__printVector errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_printVector :: IMatrixClass a => a -> IO ()
-imatrix_printVector x = casadi__IMatrix__printVector (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__printme" c_casadi__IMatrix__printme
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__printme
-  :: IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__printme errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_printme :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_printme x = casadi__IMatrix__printme (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__quad_form" c_casadi__IMatrix__quad_form
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__quad_form
-  :: Vector Int -> IMatrix -> IO Int
-casadi__IMatrix__quad_form x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__quad_form errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_quad_form :: Vector Int -> IMatrix -> IO Int
-imatrix_quad_form = casadi__IMatrix__quad_form
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__remove" c_casadi__IMatrix__remove
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__remove
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-casadi__IMatrix__remove x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__remove errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_remove :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
-imatrix_remove x = casadi__IMatrix__remove (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__repmat__0" c_casadi__IMatrix__repmat__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__repmat__0
-  :: IMatrix -> Int -> IO IMatrix
-casadi__IMatrix__repmat__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__repmat__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_repmat__0 :: IMatrix -> Int -> IO IMatrix
-imatrix_repmat__0 = casadi__IMatrix__repmat__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__repmat__1" c_casadi__IMatrix__repmat__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__repmat__1
-  :: IMatrix -> Int -> Int -> IO IMatrix
-casadi__IMatrix__repmat__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__repmat__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_repmat__1 :: IMatrix -> Int -> Int -> IO IMatrix
-imatrix_repmat__1 = casadi__IMatrix__repmat__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__repmat__2" c_casadi__IMatrix__repmat__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__repmat__2
-  :: IMatrix -> Sparsity -> IO IMatrix
-casadi__IMatrix__repmat__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__repmat__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_repmat__2 :: IMatrix -> Sparsity -> IO IMatrix
-imatrix_repmat__2 = casadi__IMatrix__repmat__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__repmat__3" c_casadi__IMatrix__repmat__3
-  :: Ptr (Ptr StdString) -> CInt -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__repmat__3
-  :: Int -> Sparsity -> IO IMatrix
-casadi__IMatrix__repmat__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__repmat__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_repmat__3 :: Int -> Sparsity -> IO IMatrix
-imatrix_repmat__3 = casadi__IMatrix__repmat__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__reserve__0" c_casadi__IMatrix__reserve__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__reserve__0
-  :: IMatrix -> Int -> Int -> IO ()
-casadi__IMatrix__reserve__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__reserve__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_reserve__0 :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_reserve__0 x = casadi__IMatrix__reserve__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__reserve__1" c_casadi__IMatrix__reserve__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__reserve__1
-  :: IMatrix -> Int -> IO ()
-casadi__IMatrix__reserve__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__reserve__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_reserve__1 :: IMatrixClass a => a -> Int -> IO ()
-imatrix_reserve__1 x = casadi__IMatrix__reserve__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__resize" c_casadi__IMatrix__resize
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__resize
-  :: IMatrix -> Int -> Int -> IO ()
-casadi__IMatrix__resize x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__resize errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_resize :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_resize x = casadi__IMatrix__resize (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__row__0" c_casadi__IMatrix__row__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
-casadi__IMatrix__row__0
-  :: IMatrix -> Int -> IO Int
-casadi__IMatrix__row__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__row__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_row__0 :: IMatrixClass a => a -> Int -> IO Int
-imatrix_row__0 x = casadi__IMatrix__row__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__row__1" c_casadi__IMatrix__row__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec CInt))
-casadi__IMatrix__row__1
-  :: IMatrix -> IO (Vector Int)
-casadi__IMatrix__row__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__row__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_row__1 :: IMatrixClass a => a -> IO (Vector Int)
-imatrix_row__1 x = casadi__IMatrix__row__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sanityCheck__0" c_casadi__IMatrix__sanityCheck__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__sanityCheck__0
-  :: IMatrix -> IO ()
-casadi__IMatrix__sanityCheck__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sanityCheck__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sanityCheck__0 :: IMatrixClass a => a -> IO ()
-imatrix_sanityCheck__0 x = casadi__IMatrix__sanityCheck__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sanityCheck__1" c_casadi__IMatrix__sanityCheck__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__sanityCheck__1
-  :: IMatrix -> Bool -> IO ()
-casadi__IMatrix__sanityCheck__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sanityCheck__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sanityCheck__1 :: IMatrixClass a => a -> Bool -> IO ()
-imatrix_sanityCheck__1 x = casadi__IMatrix__sanityCheck__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__scalar_matrix" c_casadi__IMatrix__scalar_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__scalar_matrix
-  :: Int -> IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__scalar_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__scalar_matrix errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_scalar_matrix :: Int -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_scalar_matrix = casadi__IMatrix__scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__set__0" c_casadi__IMatrix__set__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__set__0
-  :: IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__set__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__set__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_set__0 :: IMatrixClass a => a -> IMatrix -> IO ()
-imatrix_set__0 x = casadi__IMatrix__set__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__set__1" c_casadi__IMatrix__set__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__set__1
-  :: IMatrix -> IMatrix -> SparsityType -> IO ()
-casadi__IMatrix__set__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__set__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_set__1 :: IMatrixClass a => a -> IMatrix -> SparsityType -> IO ()
-imatrix_set__1 x = casadi__IMatrix__set__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__set__2" c_casadi__IMatrix__set__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__set__2
-  :: IMatrix -> Vector Int -> IO ()
-casadi__IMatrix__set__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__set__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_set__2 :: IMatrixClass a => a -> Vector Int -> IO ()
-imatrix_set__2 x = casadi__IMatrix__set__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__set__3" c_casadi__IMatrix__set__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
-casadi__IMatrix__set__3
-  :: IMatrix -> Vector Int -> SparsityType -> IO ()
-casadi__IMatrix__set__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__set__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_set__3 :: IMatrixClass a => a -> Vector Int -> SparsityType -> IO ()
-imatrix_set__3 x = casadi__IMatrix__set__3 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__set__4" c_casadi__IMatrix__set__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__set__4
-  :: IMatrix -> Int -> IO ()
-casadi__IMatrix__set__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__set__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_set__4 :: IMatrixClass a => a -> Int -> IO ()
-imatrix_set__4 x = casadi__IMatrix__set__4 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__set__5" c_casadi__IMatrix__set__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__set__5
-  :: IMatrix -> Int -> SparsityType -> IO ()
-casadi__IMatrix__set__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__set__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_set__5 :: IMatrixClass a => a -> Int -> SparsityType -> IO ()
-imatrix_set__5 x = casadi__IMatrix__set__5 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setAll" c_casadi__IMatrix__setAll
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__setAll
-  :: IMatrix -> Int -> IO ()
-casadi__IMatrix__setAll x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setAll errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setAll :: IMatrixClass a => a -> Int -> IO ()
-imatrix_setAll x = casadi__IMatrix__setAll (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setEqualityCheckingDepth__0" c_casadi__IMatrix__setEqualityCheckingDepth__0
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__IMatrix__setEqualityCheckingDepth__0
-  :: IO ()
-casadi__IMatrix__setEqualityCheckingDepth__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setEqualityCheckingDepth__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setEqualityCheckingDepth__0 :: IO ()
-imatrix_setEqualityCheckingDepth__0 = casadi__IMatrix__setEqualityCheckingDepth__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setEqualityCheckingDepth__1" c_casadi__IMatrix__setEqualityCheckingDepth__1
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__IMatrix__setEqualityCheckingDepth__1
-  :: Int -> IO ()
-casadi__IMatrix__setEqualityCheckingDepth__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setEqualityCheckingDepth__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setEqualityCheckingDepth__1 :: Int -> IO ()
-imatrix_setEqualityCheckingDepth__1 = casadi__IMatrix__setEqualityCheckingDepth__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setMaxNumCallsInPrint__0" c_casadi__IMatrix__setMaxNumCallsInPrint__0
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__IMatrix__setMaxNumCallsInPrint__0
-  :: IO ()
-casadi__IMatrix__setMaxNumCallsInPrint__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setMaxNumCallsInPrint__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setMaxNumCallsInPrint__0 :: IO ()
-imatrix_setMaxNumCallsInPrint__0 = casadi__IMatrix__setMaxNumCallsInPrint__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setMaxNumCallsInPrint__1" c_casadi__IMatrix__setMaxNumCallsInPrint__1
-  :: Ptr (Ptr StdString) -> CLong -> IO ()
-casadi__IMatrix__setMaxNumCallsInPrint__1
-  :: Int -> IO ()
-casadi__IMatrix__setMaxNumCallsInPrint__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setMaxNumCallsInPrint__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setMaxNumCallsInPrint__1 :: Int -> IO ()
-imatrix_setMaxNumCallsInPrint__1 = casadi__IMatrix__setMaxNumCallsInPrint__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setNZ__0" c_casadi__IMatrix__setNZ__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setNZ__0
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__setNZ__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setNZ__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setNZ__0 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_setNZ__0 x = casadi__IMatrix__setNZ__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setNZ__1" c_casadi__IMatrix__setNZ__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setNZ__1
-  :: IMatrix -> Slice -> IMatrix -> IO ()
-casadi__IMatrix__setNZ__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setNZ__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setNZ__1 :: IMatrixClass a => a -> Slice -> IMatrix -> IO ()
-imatrix_setNZ__1 x = casadi__IMatrix__setNZ__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setNZ__2" c_casadi__IMatrix__setNZ__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setNZ__2
-  :: IMatrix -> Vector Int -> IMatrix -> IO ()
-casadi__IMatrix__setNZ__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setNZ__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setNZ__2 :: IMatrixClass a => a -> Vector Int -> IMatrix -> IO ()
-imatrix_setNZ__2 x = casadi__IMatrix__setNZ__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setNZ__3" c_casadi__IMatrix__setNZ__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setNZ__3
-  :: IMatrix -> Int -> IMatrix -> IO ()
-casadi__IMatrix__setNZ__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setNZ__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setNZ__3 :: IMatrixClass a => a -> Int -> IMatrix -> IO ()
-imatrix_setNZ__3 x = casadi__IMatrix__setNZ__3 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setPrecision" c_casadi__IMatrix__setPrecision
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__IMatrix__setPrecision
-  :: Int -> IO ()
-casadi__IMatrix__setPrecision x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setPrecision errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setPrecision :: Int -> IO ()
-imatrix_setPrecision = casadi__IMatrix__setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setScientific" c_casadi__IMatrix__setScientific
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__IMatrix__setScientific
-  :: Bool -> IO ()
-casadi__IMatrix__setScientific x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setScientific errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setScientific :: Bool -> IO ()
-imatrix_setScientific = casadi__IMatrix__setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSparse__0" c_casadi__IMatrix__setSparse__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__setSparse__0
-  :: IMatrix -> Sparsity -> IO IMatrix
-casadi__IMatrix__setSparse__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSparse__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSparse__0 :: IMatrixClass a => a -> Sparsity -> IO IMatrix
-imatrix_setSparse__0 x = casadi__IMatrix__setSparse__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSparse__1" c_casadi__IMatrix__setSparse__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__setSparse__1
-  :: IMatrix -> Sparsity -> Bool -> IO IMatrix
-casadi__IMatrix__setSparse__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSparse__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSparse__1 :: IMatrixClass a => a -> Sparsity -> Bool -> IO IMatrix
-imatrix_setSparse__1 x = casadi__IMatrix__setSparse__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__0" c_casadi__IMatrix__setSub__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> CInt -> IO ()
-casadi__IMatrix__setSub__0
-  :: IMatrix -> IMatrix -> Sparsity -> Int -> IO ()
-casadi__IMatrix__setSub__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__0 :: IMatrixClass a => a -> IMatrix -> Sparsity -> Int -> IO ()
-imatrix_setSub__0 x = casadi__IMatrix__setSub__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__1" c_casadi__IMatrix__setSub__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr Slice' -> IO ()
-casadi__IMatrix__setSub__1
-  :: IMatrix -> IMatrix -> Int -> Slice -> IO ()
-casadi__IMatrix__setSub__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__1 :: IMatrixClass a => a -> IMatrix -> Int -> Slice -> IO ()
-imatrix_setSub__1 x = casadi__IMatrix__setSub__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__2" c_casadi__IMatrix__setSub__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> CInt -> IO ()
-casadi__IMatrix__setSub__2
-  :: IMatrix -> IMatrix -> Slice -> Int -> IO ()
-casadi__IMatrix__setSub__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__2 :: IMatrixClass a => a -> IMatrix -> Slice -> Int -> IO ()
-imatrix_setSub__2 x = casadi__IMatrix__setSub__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__3" c_casadi__IMatrix__setSub__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setSub__3
-  :: IMatrix -> IMatrix -> IMatrix -> IMatrix -> IO ()
-casadi__IMatrix__setSub__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__3 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_setSub__3 x = casadi__IMatrix__setSub__3 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__4" c_casadi__IMatrix__setSub__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setSub__4
-  :: IMatrix -> IMatrix -> Slice -> IMatrix -> IO ()
-casadi__IMatrix__setSub__4 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__4 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__4 :: IMatrixClass a => a -> IMatrix -> Slice -> IMatrix -> IO ()
-imatrix_setSub__4 x = casadi__IMatrix__setSub__4 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__5" c_casadi__IMatrix__setSub__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> IO ()
-casadi__IMatrix__setSub__5
-  :: IMatrix -> IMatrix -> IMatrix -> Slice -> IO ()
-casadi__IMatrix__setSub__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__5 :: IMatrixClass a => a -> IMatrix -> IMatrix -> Slice -> IO ()
-imatrix_setSub__5 x = casadi__IMatrix__setSub__5 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__6" c_casadi__IMatrix__setSub__6
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setSub__6
-  :: IMatrix -> IMatrix -> Int -> IMatrix -> IO ()
-casadi__IMatrix__setSub__6 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__6 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__6 :: IMatrixClass a => a -> IMatrix -> Int -> IMatrix -> IO ()
-imatrix_setSub__6 x = casadi__IMatrix__setSub__6 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__7" c_casadi__IMatrix__setSub__7
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setSub__7
-  :: IMatrix -> IMatrix -> Vector Int -> IMatrix -> IO ()
-casadi__IMatrix__setSub__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__7 :: IMatrixClass a => a -> IMatrix -> Vector Int -> IMatrix -> IO ()
-imatrix_setSub__7 x = casadi__IMatrix__setSub__7 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__8" c_casadi__IMatrix__setSub__8
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO ()
-casadi__IMatrix__setSub__8
-  :: IMatrix -> IMatrix -> IMatrix -> Int -> IO ()
-casadi__IMatrix__setSub__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__8 :: IMatrixClass a => a -> IMatrix -> IMatrix -> Int -> IO ()
-imatrix_setSub__8 x = casadi__IMatrix__setSub__8 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__9" c_casadi__IMatrix__setSub__9
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__setSub__9
-  :: IMatrix -> IMatrix -> IMatrix -> Vector Int -> IO ()
-casadi__IMatrix__setSub__9 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__9 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__9 :: IMatrixClass a => a -> IMatrix -> IMatrix -> Vector Int -> IO ()
-imatrix_setSub__9 x = casadi__IMatrix__setSub__9 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__10" c_casadi__IMatrix__setSub__10
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr Slice' -> IO ()
-casadi__IMatrix__setSub__10
-  :: IMatrix -> IMatrix -> Slice -> Slice -> IO ()
-casadi__IMatrix__setSub__10 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__10 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__10 :: IMatrixClass a => a -> IMatrix -> Slice -> Slice -> IO ()
-imatrix_setSub__10 x = casadi__IMatrix__setSub__10 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__11" c_casadi__IMatrix__setSub__11
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr Slice' -> IO ()
-casadi__IMatrix__setSub__11
-  :: IMatrix -> IMatrix -> Vector Int -> Slice -> IO ()
-casadi__IMatrix__setSub__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__11 :: IMatrixClass a => a -> IMatrix -> Vector Int -> Slice -> IO ()
-imatrix_setSub__11 x = casadi__IMatrix__setSub__11 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__12" c_casadi__IMatrix__setSub__12
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__setSub__12
-  :: IMatrix -> IMatrix -> Slice -> Vector Int -> IO ()
-casadi__IMatrix__setSub__12 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__12 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__12 :: IMatrixClass a => a -> IMatrix -> Slice -> Vector Int -> IO ()
-imatrix_setSub__12 x = casadi__IMatrix__setSub__12 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__13" c_casadi__IMatrix__setSub__13
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__setSub__13
-  :: IMatrix -> IMatrix -> Vector Int -> Vector Int -> IO ()
-casadi__IMatrix__setSub__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__13 :: IMatrixClass a => a -> IMatrix -> Vector Int -> Vector Int -> IO ()
-imatrix_setSub__13 x = casadi__IMatrix__setSub__13 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__14" c_casadi__IMatrix__setSub__14
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr (StdVec CInt) -> IO ()
-casadi__IMatrix__setSub__14
-  :: IMatrix -> IMatrix -> Int -> Vector Int -> IO ()
-casadi__IMatrix__setSub__14 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__14 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__14 :: IMatrixClass a => a -> IMatrix -> Int -> Vector Int -> IO ()
-imatrix_setSub__14 x = casadi__IMatrix__setSub__14 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__15" c_casadi__IMatrix__setSub__15
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
-casadi__IMatrix__setSub__15
-  :: IMatrix -> IMatrix -> Vector Int -> Int -> IO ()
-casadi__IMatrix__setSub__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__15 :: IMatrixClass a => a -> IMatrix -> Vector Int -> Int -> IO ()
-imatrix_setSub__15 x = casadi__IMatrix__setSub__15 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setSub__16" c_casadi__IMatrix__setSub__16
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casadi__IMatrix__setSub__16
-  :: IMatrix -> IMatrix -> Int -> Int -> IO ()
-casadi__IMatrix__setSub__16 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setSub__16 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setSub__16 :: IMatrixClass a => a -> IMatrix -> Int -> Int -> IO ()
-imatrix_setSub__16 x = casadi__IMatrix__setSub__16 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setWidth" c_casadi__IMatrix__setWidth
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__IMatrix__setWidth
-  :: Int -> IO ()
-casadi__IMatrix__setWidth x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setWidth errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setWidth :: Int -> IO ()
-imatrix_setWidth = casadi__IMatrix__setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__setZero" c_casadi__IMatrix__setZero
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__setZero
-  :: IMatrix -> IO ()
-casadi__IMatrix__setZero x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__setZero errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_setZero :: IMatrixClass a => a -> IO ()
-imatrix_setZero x = casadi__IMatrix__setZero (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sign" c_casadi__IMatrix__sign
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__sign
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__sign x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sign errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sign :: IMatrixClass a => a -> IO IMatrix
-imatrix_sign x = casadi__IMatrix__sign (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sin" c_casadi__IMatrix__sin
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__sin
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__sin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sin :: IMatrixClass a => a -> IO IMatrix
-imatrix_sin x = casadi__IMatrix__sin (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sinh" c_casadi__IMatrix__sinh
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__sinh
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__sinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sinh :: IMatrixClass a => a -> IO IMatrix
-imatrix_sinh x = casadi__IMatrix__sinh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__size__0" c_casadi__IMatrix__size__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
-casadi__IMatrix__size__0
-  :: IMatrix -> SparsityType -> IO Int
-casadi__IMatrix__size__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__size__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_size__0 :: IMatrixClass a => a -> SparsityType -> IO Int
-imatrix_size__0 x = casadi__IMatrix__size__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__size__1" c_casadi__IMatrix__size__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__size__1
-  :: IMatrix -> IO Int
-casadi__IMatrix__size__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__size__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_size__1 :: IMatrixClass a => a -> IO Int
-imatrix_size__1 x = casadi__IMatrix__size__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__size1" c_casadi__IMatrix__size1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__size1
-  :: IMatrix -> IO Int
-casadi__IMatrix__size1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__size1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_size1 :: IMatrixClass a => a -> IO Int
-imatrix_size1 x = casadi__IMatrix__size1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__size2" c_casadi__IMatrix__size2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__size2
-  :: IMatrix -> IO Int
-casadi__IMatrix__size2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__size2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_size2 :: IMatrixClass a => a -> IO Int
-imatrix_size2 x = casadi__IMatrix__size2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sizeD" c_casadi__IMatrix__sizeD
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__sizeD
-  :: IMatrix -> IO Int
-casadi__IMatrix__sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sizeD errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sizeD :: IMatrixClass a => a -> IO Int
-imatrix_sizeD x = casadi__IMatrix__sizeD (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sizeL" c_casadi__IMatrix__sizeL
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__sizeL
-  :: IMatrix -> IO Int
-casadi__IMatrix__sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sizeL errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sizeL :: IMatrixClass a => a -> IO Int
-imatrix_sizeL x = casadi__IMatrix__sizeL (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sizeU" c_casadi__IMatrix__sizeU
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__sizeU
-  :: IMatrix -> IO Int
-casadi__IMatrix__sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sizeU errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sizeU :: IMatrixClass a => a -> IO Int
-imatrix_sizeU x = casadi__IMatrix__sizeU (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparse__0" c_casadi__IMatrix__sparse__0
-  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
-casadi__IMatrix__sparse__0
-  :: IO IMatrix
-casadi__IMatrix__sparse__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparse__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparse__0 :: IO IMatrix
-imatrix_sparse__0 = casadi__IMatrix__sparse__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparse__1" c_casadi__IMatrix__sparse__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sparse__1
-  :: Int -> IO IMatrix
-casadi__IMatrix__sparse__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparse__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparse__1 :: Int -> IO IMatrix
-imatrix_sparse__1 = casadi__IMatrix__sparse__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparse__2" c_casadi__IMatrix__sparse__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sparse__2
-  :: Int -> Int -> IO IMatrix
-casadi__IMatrix__sparse__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparse__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparse__2 :: Int -> Int -> IO IMatrix
-imatrix_sparse__2 = casadi__IMatrix__sparse__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparsify__0" c_casadi__IMatrix__sparsify__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
-casadi__IMatrix__sparsify__0
-  :: IMatrix -> IO ()
-casadi__IMatrix__sparsify__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparsify__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparsify__0 :: IMatrixClass a => a -> IO ()
-imatrix_sparsify__0 x = casadi__IMatrix__sparsify__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparsify__1" c_casadi__IMatrix__sparsify__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CDouble -> IO ()
-casadi__IMatrix__sparsify__1
-  :: IMatrix -> Double -> IO ()
-casadi__IMatrix__sparsify__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparsify__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparsify__1 :: IMatrixClass a => a -> Double -> IO ()
-imatrix_sparsify__1 x = casadi__IMatrix__sparsify__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparsity__0" c_casadi__IMatrix__sparsity__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Sparsity')
-casadi__IMatrix__sparsity__0
-  :: IMatrix -> IO Sparsity
-casadi__IMatrix__sparsity__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparsity__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparsity__0 :: IMatrixClass a => a -> IO Sparsity
-imatrix_sparsity__0 x = casadi__IMatrix__sparsity__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparsity__1" c_casadi__IMatrix__sparsity__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Sparsity')
-casadi__IMatrix__sparsity__1
-  :: IMatrix -> IO Sparsity
-casadi__IMatrix__sparsity__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparsity__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparsity__1 :: IMatrixClass a => a -> IO Sparsity
-imatrix_sparsity__1 x = casadi__IMatrix__sparsity__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparsityRef__0" c_casadi__IMatrix__sparsityRef__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Sparsity')
-casadi__IMatrix__sparsityRef__0
-  :: IMatrix -> IO Sparsity
-casadi__IMatrix__sparsityRef__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparsityRef__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparsityRef__0 :: IMatrixClass a => a -> IO Sparsity
-imatrix_sparsityRef__0 x = casadi__IMatrix__sparsityRef__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sparsityRef__1" c_casadi__IMatrix__sparsityRef__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Sparsity')
-casadi__IMatrix__sparsityRef__1
-  :: IMatrix -> IO Sparsity
-casadi__IMatrix__sparsityRef__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sparsityRef__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sparsityRef__1 :: IMatrixClass a => a -> IO Sparsity
-imatrix_sparsityRef__1 x = casadi__IMatrix__sparsityRef__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sqrt" c_casadi__IMatrix__sqrt
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__sqrt
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sqrt errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sqrt :: IMatrixClass a => a -> IO IMatrix
-imatrix_sqrt x = casadi__IMatrix__sqrt (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__0" c_casadi__IMatrix__sub__0
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__0
-  :: IMatrix -> Sparsity -> IO IMatrix
-casadi__IMatrix__sub__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__0 :: IMatrixClass a => a -> Sparsity -> IO IMatrix
-imatrix_sub__0 x = casadi__IMatrix__sub__0 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__1" c_casadi__IMatrix__sub__1
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__1
-  :: IMatrix -> Sparsity -> Int -> IO IMatrix
-casadi__IMatrix__sub__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__1 :: IMatrixClass a => a -> Sparsity -> Int -> IO IMatrix
-imatrix_sub__1 x = casadi__IMatrix__sub__1 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__2" c_casadi__IMatrix__sub__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__2
-  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
-casadi__IMatrix__sub__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__2 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_sub__2 x = casadi__IMatrix__sub__2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__3" c_casadi__IMatrix__sub__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__3
-  :: IMatrix -> Slice -> IMatrix -> IO IMatrix
-casadi__IMatrix__sub__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__3 :: IMatrixClass a => a -> Slice -> IMatrix -> IO IMatrix
-imatrix_sub__3 x = casadi__IMatrix__sub__3 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__4" c_casadi__IMatrix__sub__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__4
-  :: IMatrix -> IMatrix -> Slice -> IO IMatrix
-casadi__IMatrix__sub__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__4 :: IMatrixClass a => a -> IMatrix -> Slice -> IO IMatrix
-imatrix_sub__4 x = casadi__IMatrix__sub__4 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__5" c_casadi__IMatrix__sub__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__5
-  :: IMatrix -> Int -> IMatrix -> IO IMatrix
-casadi__IMatrix__sub__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__5 :: IMatrixClass a => a -> Int -> IMatrix -> IO IMatrix
-imatrix_sub__5 x = casadi__IMatrix__sub__5 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__6" c_casadi__IMatrix__sub__6
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__6
-  :: IMatrix -> Vector Int -> IMatrix -> IO IMatrix
-casadi__IMatrix__sub__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__6 :: IMatrixClass a => a -> Vector Int -> IMatrix -> IO IMatrix
-imatrix_sub__6 x = casadi__IMatrix__sub__6 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__7" c_casadi__IMatrix__sub__7
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__7
-  :: IMatrix -> IMatrix -> Int -> IO IMatrix
-casadi__IMatrix__sub__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__7 :: IMatrixClass a => a -> IMatrix -> Int -> IO IMatrix
-imatrix_sub__7 x = casadi__IMatrix__sub__7 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__8" c_casadi__IMatrix__sub__8
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__8
-  :: IMatrix -> IMatrix -> Vector Int -> IO IMatrix
-casadi__IMatrix__sub__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__8 :: IMatrixClass a => a -> IMatrix -> Vector Int -> IO IMatrix
-imatrix_sub__8 x = casadi__IMatrix__sub__8 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__9" c_casadi__IMatrix__sub__9
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__9
-  :: IMatrix -> Int -> Slice -> IO IMatrix
-casadi__IMatrix__sub__9 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__9 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__9 :: IMatrixClass a => a -> Int -> Slice -> IO IMatrix
-imatrix_sub__9 x = casadi__IMatrix__sub__9 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__10" c_casadi__IMatrix__sub__10
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__10
-  :: IMatrix -> Slice -> Int -> IO IMatrix
-casadi__IMatrix__sub__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__10 :: IMatrixClass a => a -> Slice -> Int -> IO IMatrix
-imatrix_sub__10 x = casadi__IMatrix__sub__10 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__11" c_casadi__IMatrix__sub__11
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__11
-  :: IMatrix -> Slice -> Slice -> IO IMatrix
-casadi__IMatrix__sub__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__11 :: IMatrixClass a => a -> Slice -> Slice -> IO IMatrix
-imatrix_sub__11 x = casadi__IMatrix__sub__11 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__12" c_casadi__IMatrix__sub__12
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr Slice' -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__12
-  :: IMatrix -> Vector Int -> Slice -> IO IMatrix
-casadi__IMatrix__sub__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__12 :: IMatrixClass a => a -> Vector Int -> Slice -> IO IMatrix
-imatrix_sub__12 x = casadi__IMatrix__sub__12 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__13" c_casadi__IMatrix__sub__13
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Slice' -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__13
-  :: IMatrix -> Slice -> Vector Int -> IO IMatrix
-casadi__IMatrix__sub__13 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__13 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__13 :: IMatrixClass a => a -> Slice -> Vector Int -> IO IMatrix
-imatrix_sub__13 x = casadi__IMatrix__sub__13 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__14" c_casadi__IMatrix__sub__14
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__14
-  :: IMatrix -> Vector Int -> Vector Int -> IO IMatrix
-casadi__IMatrix__sub__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__14 :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO IMatrix
-imatrix_sub__14 x = casadi__IMatrix__sub__14 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__15" c_casadi__IMatrix__sub__15
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__15
-  :: IMatrix -> Int -> Vector Int -> IO IMatrix
-casadi__IMatrix__sub__15 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__15 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__15 :: IMatrixClass a => a -> Int -> Vector Int -> IO IMatrix
-imatrix_sub__15 x = casadi__IMatrix__sub__15 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__16" c_casadi__IMatrix__sub__16
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__16
-  :: IMatrix -> Vector Int -> Int -> IO IMatrix
-casadi__IMatrix__sub__16 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__16 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__16 :: IMatrixClass a => a -> Vector Int -> Int -> IO IMatrix
-imatrix_sub__16 x = casadi__IMatrix__sub__16 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sub__17" c_casadi__IMatrix__sub__17
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sub__17
-  :: IMatrix -> Int -> Int -> IO IMatrix
-casadi__IMatrix__sub__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sub__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sub__17 :: IMatrixClass a => a -> Int -> Int -> IO IMatrix
-imatrix_sub__17 x = casadi__IMatrix__sub__17 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sym__0" c_casadi__IMatrix__sym__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
-casadi__IMatrix__sym__0
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IMatrix))
-casadi__IMatrix__sym__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sym__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IMatrix))
-imatrix_sym__0 = casadi__IMatrix__sym__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sym__1" c_casadi__IMatrix__sym__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
-casadi__IMatrix__sym__1
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IMatrix))
-casadi__IMatrix__sym__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sym__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IMatrix))
-imatrix_sym__1 = casadi__IMatrix__sym__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sym__2" c_casadi__IMatrix__sym__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr IMatrix')))
-casadi__IMatrix__sym__2
-  :: String -> Int -> Int -> Int -> IO (Vector IMatrix)
-casadi__IMatrix__sym__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sym__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sym__2 :: String -> Int -> Int -> Int -> IO (Vector IMatrix)
-imatrix_sym__2 = casadi__IMatrix__sym__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sym__3" c_casadi__IMatrix__sym__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr IMatrix')))
-casadi__IMatrix__sym__3
-  :: String -> Sparsity -> Int -> IO (Vector IMatrix)
-casadi__IMatrix__sym__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sym__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sym__3 :: String -> Sparsity -> Int -> IO (Vector IMatrix)
-imatrix_sym__3 = casadi__IMatrix__sym__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sym__4" c_casadi__IMatrix__sym__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__sym__4
-  :: String -> Sparsity -> IO IMatrix
-casadi__IMatrix__sym__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sym__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sym__4 :: String -> Sparsity -> IO IMatrix
-imatrix_sym__4 = casadi__IMatrix__sym__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sym__5" c_casadi__IMatrix__sym__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr IMatrix')
-casadi__IMatrix__sym__5
-  :: String -> IO IMatrix
-casadi__IMatrix__sym__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sym__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sym__5 :: String -> IO IMatrix
-imatrix_sym__5 = casadi__IMatrix__sym__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sym__6" c_casadi__IMatrix__sym__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sym__6
-  :: String -> Int -> IO IMatrix
-casadi__IMatrix__sym__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sym__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sym__6 :: String -> Int -> IO IMatrix
-imatrix_sym__6 = casadi__IMatrix__sym__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__sym__7" c_casadi__IMatrix__sym__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__sym__7
-  :: String -> Int -> Int -> IO IMatrix
-casadi__IMatrix__sym__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__sym__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_sym__7 :: String -> Int -> Int -> IO IMatrix
-imatrix_sym__7 = casadi__IMatrix__sym__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__tan" c_casadi__IMatrix__tan
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__tan
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__tan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__tan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_tan :: IMatrixClass a => a -> IO IMatrix
-imatrix_tan x = casadi__IMatrix__tan (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__tanh" c_casadi__IMatrix__tanh
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__tanh
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__tanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__tanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_tanh :: IMatrixClass a => a -> IO IMatrix
-imatrix_tanh x = casadi__IMatrix__tanh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__toScalar" c_casadi__IMatrix__toScalar
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-casadi__IMatrix__toScalar
-  :: IMatrix -> IO Int
-casadi__IMatrix__toScalar x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__toScalar errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_toScalar :: IMatrixClass a => a -> IO Int
-imatrix_toScalar x = casadi__IMatrix__toScalar (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__trans" c_casadi__IMatrix__trans
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__trans
-  :: IMatrix -> IO IMatrix
-casadi__IMatrix__trans x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__trans errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_trans :: IMatrixClass a => a -> IO IMatrix
-imatrix_trans x = casadi__IMatrix__trans (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__triplet__0" c_casadi__IMatrix__triplet__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__triplet__0
-  :: Vector Int -> Vector Int -> Vector Int -> Int -> Int -> IO IMatrix
-casadi__IMatrix__triplet__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__triplet__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_triplet__0 :: Vector Int -> Vector Int -> Vector Int -> Int -> Int -> IO IMatrix
-imatrix_triplet__0 = casadi__IMatrix__triplet__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__triplet__1" c_casadi__IMatrix__triplet__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
-casadi__IMatrix__triplet__1
-  :: Vector Int -> Vector Int -> Vector Int -> IO IMatrix
-casadi__IMatrix__triplet__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__triplet__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_triplet__1 :: Vector Int -> Vector Int -> Vector Int -> IO IMatrix
-imatrix_triplet__1 = casadi__IMatrix__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__unary" c_casadi__IMatrix__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casadi__IMatrix__unary
-  :: Int -> IMatrix -> IO IMatrix
-casadi__IMatrix__unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__unary errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_unary :: Int -> IMatrix -> IO IMatrix
-imatrix_unary = casadi__IMatrix__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__zeros__0" c_casadi__IMatrix__zeros__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casadi__IMatrix__zeros__0
-  :: Sparsity -> IO IMatrix
-casadi__IMatrix__zeros__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__zeros__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_zeros__0 :: Sparsity -> IO IMatrix
-imatrix_zeros__0 = casadi__IMatrix__zeros__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__zeros__1" c_casadi__IMatrix__zeros__1
-  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
-casadi__IMatrix__zeros__1
-  :: IO IMatrix
-casadi__IMatrix__zeros__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__zeros__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_zeros__1 :: IO IMatrix
-imatrix_zeros__1 = casadi__IMatrix__zeros__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__zeros__2" c_casadi__IMatrix__zeros__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__zeros__2
-  :: Int -> IO IMatrix
-casadi__IMatrix__zeros__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__zeros__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_zeros__2 :: Int -> IO IMatrix
-imatrix_zeros__2 = casadi__IMatrix__zeros__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__IMatrix__zeros__3" c_casadi__IMatrix__zeros__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
-casadi__IMatrix__zeros__3
-  :: Int -> Int -> IO IMatrix
-casadi__IMatrix__zeros__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__IMatrix__zeros__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-imatrix_zeros__3 :: Int -> Int -> IO IMatrix
-imatrix_zeros__3 = casadi__IMatrix__zeros__3
+         imatrix_T,
+         imatrix__0,
+         imatrix__1,
+         imatrix__2,
+         imatrix__3,
+         imatrix__4,
+         imatrix__5,
+         imatrix__6,
+         imatrix__7,
+         imatrix__8,
+         imatrix___constpow__,
+         imatrix___copysign__,
+         imatrix___mldivide__,
+         imatrix___mrdivide__,
+         imatrix___nonzero__,
+         imatrix___truediv____0,
+         imatrix___truediv____1,
+         imatrix_append,
+         imatrix_appendColumns,
+         imatrix_at,
+         imatrix_binary,
+         imatrix_className,
+         imatrix_clear,
+         imatrix_colind__0,
+         imatrix_colind__1,
+         imatrix_data__0,
+         imatrix_data__1,
+         imatrix_dimString,
+         imatrix_elem__0,
+         imatrix_elem__1,
+         imatrix_enlarge__0,
+         imatrix_enlarge__1,
+         imatrix_erase__0,
+         imatrix_erase__1,
+         imatrix_erase__2,
+         imatrix_erase__3,
+         imatrix_eye,
+         imatrix_getDep__0,
+         imatrix_getDep__1,
+         imatrix_getDescription,
+         imatrix_getElementHash,
+         imatrix_getElement__0,
+         imatrix_getElement__1,
+         imatrix_getEqualityCheckingDepth,
+         imatrix_getMaxNumCallsInPrint,
+         imatrix_getNZ__0,
+         imatrix_getNZ__1,
+         imatrix_getName,
+         imatrix_getNdeps,
+         imatrix_getRepresentation,
+         imatrix_getSub__0,
+         imatrix_getSub__1,
+         imatrix_getSub__2,
+         imatrix_getSub__3,
+         imatrix_getSub__4,
+         imatrix_getSub__5,
+         imatrix_getSub__6,
+         imatrix_getValue,
+         imatrix_get__0,
+         imatrix_get__1,
+         imatrix_get__2,
+         imatrix_get__3,
+         imatrix_get__4,
+         imatrix_get__5,
+         imatrix_hasNZ,
+         imatrix_hasNonStructuralZeros,
+         imatrix_inf__0,
+         imatrix_inf__1,
+         imatrix_inf__2,
+         imatrix_inf__3,
+         imatrix_isCommutative,
+         imatrix_isConstant,
+         imatrix_isDense,
+         imatrix_isEmpty__0,
+         imatrix_isEmpty__1,
+         imatrix_isIdentity,
+         imatrix_isInteger,
+         imatrix_isLeaf,
+         imatrix_isMinusOne,
+         imatrix_isOne,
+         imatrix_isRegular,
+         imatrix_isScalar__0,
+         imatrix_isScalar__1,
+         imatrix_isSlice__0,
+         imatrix_isSlice__1,
+         imatrix_isSmooth,
+         imatrix_isSquare,
+         imatrix_isSymbolic,
+         imatrix_isSymbolicSparse,
+         imatrix_isTril,
+         imatrix_isTriu,
+         imatrix_isVector,
+         imatrix_isZero,
+         imatrix_makeDense__0,
+         imatrix_makeDense__1,
+         imatrix_makeSparse__0,
+         imatrix_makeSparse__1,
+         imatrix_matrix_matrix,
+         imatrix_matrix_scalar,
+         imatrix_mul_no_alloc__0,
+         imatrix_mul_no_alloc__1,
+         imatrix_mul_no_alloc__2,
+         imatrix_mul_no_alloc__3,
+         imatrix_mul_no_alloc_nn__0,
+         imatrix_mul_no_alloc_nn__1,
+         imatrix_mul_no_alloc_nt,
+         imatrix_mul_no_alloc_tn__0,
+         imatrix_mul_no_alloc_tn__1,
+         imatrix_nan__0,
+         imatrix_nan__1,
+         imatrix_nan__2,
+         imatrix_nan__3,
+         imatrix_numel__0,
+         imatrix_numel__1,
+         imatrix_ones__0,
+         imatrix_ones__1,
+         imatrix_ones__2,
+         imatrix_ones__3,
+         imatrix_printDense,
+         imatrix_printScalar,
+         imatrix_printSparse,
+         imatrix_printVector,
+         imatrix_printme,
+         imatrix_quad_form,
+         imatrix_remove,
+         imatrix_repmat__0,
+         imatrix_repmat__1,
+         imatrix_repmat__2,
+         imatrix_reserve__0,
+         imatrix_reserve__1,
+         imatrix_resize,
+         imatrix_row__0,
+         imatrix_row__1,
+         imatrix_sanityCheck__0,
+         imatrix_sanityCheck__1,
+         imatrix_scalar_matrix,
+         imatrix_setAll,
+         imatrix_setEqualityCheckingDepth__0,
+         imatrix_setEqualityCheckingDepth__1,
+         imatrix_setMaxNumCallsInPrint__0,
+         imatrix_setMaxNumCallsInPrint__1,
+         imatrix_setNZ__0,
+         imatrix_setNZ__1,
+         imatrix_setPrecision,
+         imatrix_setScientific,
+         imatrix_setSparse__0,
+         imatrix_setSparse__1,
+         imatrix_setSub__0,
+         imatrix_setSub__1,
+         imatrix_setSub__2,
+         imatrix_setSub__3,
+         imatrix_setSub__4,
+         imatrix_setSub__5,
+         imatrix_setSub__6,
+         imatrix_setWidth,
+         imatrix_setZero,
+         imatrix_set__0,
+         imatrix_set__1,
+         imatrix_set__2,
+         imatrix_set__3,
+         imatrix_set__4,
+         imatrix_set__5,
+         imatrix_size1,
+         imatrix_size2,
+         imatrix_sizeD,
+         imatrix_sizeL,
+         imatrix_sizeU,
+         imatrix_size__0,
+         imatrix_size__1,
+         imatrix_sparse__0,
+         imatrix_sparse__1,
+         imatrix_sparse__2,
+         imatrix_sparse__3,
+         imatrix_sparsityRef__0,
+         imatrix_sparsityRef__1,
+         imatrix_sparsity__0,
+         imatrix_sparsity__1,
+         imatrix_sym__0,
+         imatrix_sym__1,
+         imatrix_sym__2,
+         imatrix_sym__3,
+         imatrix_sym__4,
+         imatrix_sym__5,
+         imatrix_sym__6,
+         imatrix_sym__7,
+         imatrix_toScalar,
+         imatrix_toSlice__0,
+         imatrix_toSlice__1,
+         imatrix_triplet__0,
+         imatrix_triplet__1,
+         imatrix_unary,
+         imatrix_zeros__0,
+         imatrix_zeros__1,
+         imatrix_zeros__2,
+         imatrix_zeros__3,
+         imatrix_zz_abs,
+         imatrix_zz_acos,
+         imatrix_zz_acosh,
+         imatrix_zz_addMultiple__0,
+         imatrix_zz_addMultiple__1,
+         imatrix_zz_adj,
+         imatrix_zz_all,
+         imatrix_zz_and,
+         imatrix_zz_any,
+         imatrix_zz_asin,
+         imatrix_zz_asinh,
+         imatrix_zz_atan,
+         imatrix_zz_atan2,
+         imatrix_zz_atanh,
+         imatrix_zz_blockcat,
+         imatrix_zz_blocksplit,
+         imatrix_zz_ceil,
+         imatrix_zz_cofactor,
+         imatrix_zz_cos,
+         imatrix_zz_cosh,
+         imatrix_zz_countNodes,
+         imatrix_zz_cross__0,
+         imatrix_zz_cross__1,
+         imatrix_zz_dense,
+         imatrix_zz_dependsOn,
+         imatrix_zz_det,
+         imatrix_zz_diag,
+         imatrix_zz_diagcat,
+         imatrix_zz_diagsplit,
+         imatrix_zz_eig_symbolic,
+         imatrix_zz_eq,
+         imatrix_zz_erf,
+         imatrix_zz_erfinv,
+         imatrix_zz_exp,
+         imatrix_zz_expand,
+         imatrix_zz_extractShared__0,
+         imatrix_zz_extractShared__1,
+         imatrix_zz_extractShared__2,
+         imatrix_zz_floor,
+         imatrix_zz_gauss_quadrature__0,
+         imatrix_zz_gauss_quadrature__1,
+         imatrix_zz_gauss_quadrature__2,
+         imatrix_zz_ge,
+         imatrix_zz_getMinor,
+         imatrix_zz_getOperatorRepresentation,
+         imatrix_zz_getSymbols__0,
+         imatrix_zz_getSymbols__1,
+         imatrix_zz_gradient,
+         imatrix_zz_gt,
+         imatrix_zz_heaviside,
+         imatrix_zz_hessian__0,
+         imatrix_zz_hessian__1,
+         imatrix_zz_horzcat,
+         imatrix_zz_horzsplit,
+         imatrix_zz_if_else,
+         imatrix_zz_if_else_zero,
+         imatrix_zz_inner_prod,
+         imatrix_zz_inv,
+         imatrix_zz_isEqual__0,
+         imatrix_zz_isEqual__1,
+         imatrix_zz_jacobian,
+         imatrix_zz_jacobianTimesVector__0,
+         imatrix_zz_jacobianTimesVector__1,
+         imatrix_zz_kron,
+         imatrix_zz_le,
+         imatrix_zz_linspace,
+         imatrix_zz_log,
+         imatrix_zz_log10,
+         imatrix_zz_lt,
+         imatrix_zz_max,
+         imatrix_zz_min,
+         imatrix_zz_minus,
+         imatrix_zz_mod,
+         imatrix_zz_mpower,
+         imatrix_zz_mtaylor__0,
+         imatrix_zz_mtaylor__1,
+         imatrix_zz_mtaylor__2,
+         imatrix_zz_mtimes__0,
+         imatrix_zz_mtimes__1,
+         imatrix_zz_ne,
+         imatrix_zz_norm_0_mul_nn,
+         imatrix_zz_norm_1,
+         imatrix_zz_norm_2,
+         imatrix_zz_norm_F,
+         imatrix_zz_norm_inf,
+         imatrix_zz_norm_inf_mul_nn,
+         imatrix_zz_not,
+         imatrix_zz_nullspace,
+         imatrix_zz_or,
+         imatrix_zz_outer_prod,
+         imatrix_zz_pinv,
+         imatrix_zz_plus,
+         imatrix_zz_poly_coeff,
+         imatrix_zz_poly_roots,
+         imatrix_zz_polyval,
+         imatrix_zz_power,
+         imatrix_zz_printCompact,
+         imatrix_zz_project,
+         imatrix_zz_pw_const,
+         imatrix_zz_pw_lin,
+         imatrix_zz_qr,
+         imatrix_zz_quad_form__0,
+         imatrix_zz_quad_form__1,
+         imatrix_zz_ramp,
+         imatrix_zz_rdivide,
+         imatrix_zz_rectangle,
+         imatrix_zz_repmat__0,
+         imatrix_zz_repmat__1,
+         imatrix_zz_repmat__2,
+         imatrix_zz_reshape__0,
+         imatrix_zz_reshape__1,
+         imatrix_zz_sign,
+         imatrix_zz_simplify,
+         imatrix_zz_sin,
+         imatrix_zz_sinh,
+         imatrix_zz_solve,
+         imatrix_zz_sparsify__0,
+         imatrix_zz_sparsify__1,
+         imatrix_zz_sprank__0,
+         imatrix_zz_sprank__1,
+         imatrix_zz_spy,
+         imatrix_zz_sqrt,
+         imatrix_zz_substituteInPlace__0,
+         imatrix_zz_substituteInPlace__1,
+         imatrix_zz_substitute__0,
+         imatrix_zz_substitute__1,
+         imatrix_zz_sumAll,
+         imatrix_zz_sumCols,
+         imatrix_zz_sumRows,
+         imatrix_zz_sum_square,
+         imatrix_zz_tan,
+         imatrix_zz_tangent,
+         imatrix_zz_tanh,
+         imatrix_zz_taylor__0,
+         imatrix_zz_taylor__1,
+         imatrix_zz_taylor__2,
+         imatrix_zz_times,
+         imatrix_zz_trace,
+         imatrix_zz_triangle,
+         imatrix_zz_tril2symm,
+         imatrix_zz_tril__0,
+         imatrix_zz_tril__1,
+         imatrix_zz_triu2symm,
+         imatrix_zz_triu__0,
+         imatrix_zz_triu__1,
+         imatrix_zz_unite,
+         imatrix_zz_vec,
+         imatrix_zz_vecNZ,
+         imatrix_zz_vecNZcat,
+         imatrix_zz_veccat,
+         imatrix_zz_vertcat,
+         imatrix_zz_vertsplit,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.CToolsInstances ( )
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__0" c_casadi__IMatrix__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__0
+  :: Vector Int -> Int -> Int -> IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__0 :: Vector Int -> Int -> Int -> IO IMatrix
+imatrix__0 = casadi__IMatrix__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__1" c_casadi__IMatrix__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__1
+  :: Vector Int -> IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__1 :: Vector Int -> IO IMatrix
+imatrix__1 = casadi__IMatrix__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__2" c_casadi__IMatrix__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__2
+  :: Double -> IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__2 :: Double -> IO IMatrix
+imatrix__2 = casadi__IMatrix__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__3" c_casadi__IMatrix__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__3
+  :: Sparsity -> Vector Int -> IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__3 :: Sparsity -> Vector Int -> IO IMatrix
+imatrix__3 = casadi__IMatrix__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__4" c_casadi__IMatrix__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__4
+  :: Sparsity -> IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__4 :: Sparsity -> IO IMatrix
+imatrix__4 = casadi__IMatrix__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__5" c_casadi__IMatrix__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__5
+  :: Sparsity -> Int -> IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__5 :: Sparsity -> Int -> IO IMatrix
+imatrix__5 = casadi__IMatrix__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__6" c_casadi__IMatrix__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec CInt))) -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__6
+  :: Vector (Vector Int) -> IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__6 :: Vector (Vector Int) -> IO IMatrix
+imatrix__6 = casadi__IMatrix__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__7" c_casadi__IMatrix__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__7
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__7 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__7 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__7 :: IMatrix -> IO IMatrix
+imatrix__7 = casadi__IMatrix__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__CONSTRUCTOR__8" c_casadi__IMatrix__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
+casadi__IMatrix__CONSTRUCTOR__8
+  :: IO IMatrix
+casadi__IMatrix__CONSTRUCTOR__8  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__CONSTRUCTOR__8 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix__8 :: IO IMatrix
+imatrix__8 = casadi__IMatrix__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__T" c_casadi__IMatrix__T
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__T
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__T x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__T errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_T :: IMatrixClass a => a -> IO IMatrix
+imatrix_T x = casadi__IMatrix__T (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix____constpow__" c_casadi__IMatrix____constpow__
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix____constpow__
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix____constpow__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix____constpow__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix___constpow__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix___constpow__ x = casadi__IMatrix____constpow__ (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix____copysign__" c_casadi__IMatrix____copysign__
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix____copysign__
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix____copysign__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix____copysign__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix___copysign__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix___copysign__ x = casadi__IMatrix____copysign__ (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix____mldivide__" c_casadi__IMatrix____mldivide__
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix____mldivide__
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix____mldivide__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix____mldivide__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix___mldivide__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix___mldivide__ x = casadi__IMatrix____mldivide__ (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix____mrdivide__" c_casadi__IMatrix____mrdivide__
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix____mrdivide__
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix____mrdivide__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix____mrdivide__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix___mrdivide__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix___mrdivide__ x = casadi__IMatrix____mrdivide__ (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix____nonzero__" c_casadi__IMatrix____nonzero__
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix____nonzero__
+  :: IMatrix -> IO Bool
+casadi__IMatrix____nonzero__ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix____nonzero__ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix___nonzero__ :: IMatrixClass a => a -> IO Bool
+imatrix___nonzero__ x = casadi__IMatrix____nonzero__ (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix____truediv____0" c_casadi__IMatrix____truediv____0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix____truediv____0
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix____truediv____0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix____truediv____0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix___truediv____0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix___truediv____0 x = casadi__IMatrix____truediv____0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix____truediv____1" c_casadi__IMatrix____truediv____1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix____truediv____1
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix____truediv____1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix____truediv____1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix___truediv____1 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix___truediv____1 x = casadi__IMatrix____truediv____1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__append" c_casadi__IMatrix__append
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__append
+  :: IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__append x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__append errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_append :: IMatrixClass a => a -> IMatrix -> IO ()
+imatrix_append x = casadi__IMatrix__append (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__appendColumns" c_casadi__IMatrix__appendColumns
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__appendColumns
+  :: IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__appendColumns x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__appendColumns errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_appendColumns :: IMatrixClass a => a -> IMatrix -> IO ()
+imatrix_appendColumns x = casadi__IMatrix__appendColumns (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__at" c_casadi__IMatrix__at
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__at
+  :: IMatrix -> Int -> IO Int
+casadi__IMatrix__at x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__at errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_at :: IMatrixClass a => a -> Int -> IO Int
+imatrix_at x = casadi__IMatrix__at (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__binary" c_casadi__IMatrix__binary
+  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__binary
+  :: Int -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__binary x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__binary errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_binary :: Int -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_binary = casadi__IMatrix__binary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__className" c_casadi__IMatrix__className
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+casadi__IMatrix__className
+  :: IO String
+casadi__IMatrix__className  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__className errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_className :: IO String
+imatrix_className = casadi__IMatrix__className
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__clear" c_casadi__IMatrix__clear
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__clear
+  :: IMatrix -> IO ()
+casadi__IMatrix__clear x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__clear errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_clear :: IMatrixClass a => a -> IO ()
+imatrix_clear x = casadi__IMatrix__clear (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__colind__0" c_casadi__IMatrix__colind__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__colind__0
+  :: IMatrix -> Int -> IO Int
+casadi__IMatrix__colind__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__colind__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_colind__0 :: IMatrixClass a => a -> Int -> IO Int
+imatrix_colind__0 x = casadi__IMatrix__colind__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__colind__1" c_casadi__IMatrix__colind__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec CInt))
+casadi__IMatrix__colind__1
+  :: IMatrix -> IO (Vector Int)
+casadi__IMatrix__colind__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__colind__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_colind__1 :: IMatrixClass a => a -> IO (Vector Int)
+imatrix_colind__1 x = casadi__IMatrix__colind__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__data__0" c_casadi__IMatrix__data__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec CInt))
+casadi__IMatrix__data__0
+  :: IMatrix -> IO (Vector Int)
+casadi__IMatrix__data__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__data__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_data__0 :: IMatrixClass a => a -> IO (Vector Int)
+imatrix_data__0 x = casadi__IMatrix__data__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__data__1" c_casadi__IMatrix__data__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec CInt))
+casadi__IMatrix__data__1
+  :: IMatrix -> IO (Vector Int)
+casadi__IMatrix__data__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__data__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_data__1 :: IMatrixClass a => a -> IO (Vector Int)
+imatrix_data__1 x = casadi__IMatrix__data__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__dimString" c_casadi__IMatrix__dimString
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr StdString)
+casadi__IMatrix__dimString
+  :: IMatrix -> IO String
+casadi__IMatrix__dimString x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__dimString errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_dimString :: IMatrixClass a => a -> IO String
+imatrix_dimString x = casadi__IMatrix__dimString (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__elem__0" c_casadi__IMatrix__elem__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__elem__0
+  :: IMatrix -> Int -> IO Int
+casadi__IMatrix__elem__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__elem__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_elem__0 :: IMatrixClass a => a -> Int -> IO Int
+imatrix_elem__0 x = casadi__IMatrix__elem__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__elem__1" c_casadi__IMatrix__elem__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO CInt
+casadi__IMatrix__elem__1
+  :: IMatrix -> Int -> Int -> IO Int
+casadi__IMatrix__elem__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__elem__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_elem__1 :: IMatrixClass a => a -> Int -> Int -> IO Int
+imatrix_elem__1 x = casadi__IMatrix__elem__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__enlarge__0" c_casadi__IMatrix__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__enlarge__0
+  :: IMatrix -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__IMatrix__enlarge__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_enlarge__0 :: IMatrixClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+imatrix_enlarge__0 x = casadi__IMatrix__enlarge__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__enlarge__1" c_casadi__IMatrix__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__IMatrix__enlarge__1
+  :: IMatrix -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__IMatrix__enlarge__1 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_enlarge__1 :: IMatrixClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+imatrix_enlarge__1 x = casadi__IMatrix__enlarge__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__erase__0" c_casadi__IMatrix__erase__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__erase__0
+  :: IMatrix -> Vector Int -> IO ()
+casadi__IMatrix__erase__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__erase__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_erase__0 :: IMatrixClass a => a -> Vector Int -> IO ()
+imatrix_erase__0 x = casadi__IMatrix__erase__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__erase__1" c_casadi__IMatrix__erase__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__IMatrix__erase__1
+  :: IMatrix -> Vector Int -> Bool -> IO ()
+casadi__IMatrix__erase__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__erase__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_erase__1 :: IMatrixClass a => a -> Vector Int -> Bool -> IO ()
+imatrix_erase__1 x = casadi__IMatrix__erase__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__erase__2" c_casadi__IMatrix__erase__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__erase__2
+  :: IMatrix -> Vector Int -> Vector Int -> IO ()
+casadi__IMatrix__erase__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__erase__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_erase__2 :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
+imatrix_erase__2 x = casadi__IMatrix__erase__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__erase__3" c_casadi__IMatrix__erase__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__IMatrix__erase__3
+  :: IMatrix -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__IMatrix__erase__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__erase__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_erase__3 :: IMatrixClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+imatrix_erase__3 x = casadi__IMatrix__erase__3 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__eye" c_casadi__IMatrix__eye
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__eye
+  :: Int -> IO IMatrix
+casadi__IMatrix__eye x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__eye errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_eye :: Int -> IO IMatrix
+imatrix_eye = casadi__IMatrix__eye
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__get__0" c_casadi__IMatrix__get__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__get__0
+  :: IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__get__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__get__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_get__0 :: IMatrixClass a => a -> IMatrix -> IO ()
+imatrix_get__0 x = casadi__IMatrix__get__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__get__1" c_casadi__IMatrix__get__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO ()
+casadi__IMatrix__get__1
+  :: IMatrix -> IMatrix -> SparsityType -> IO ()
+casadi__IMatrix__get__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__get__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_get__1 :: IMatrixClass a => a -> IMatrix -> SparsityType -> IO ()
+imatrix_get__1 x = casadi__IMatrix__get__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__get__2" c_casadi__IMatrix__get__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__get__2
+  :: IMatrix -> Vector Int -> IO ()
+casadi__IMatrix__get__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__get__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_get__2 :: IMatrixClass a => a -> Vector Int -> IO ()
+imatrix_get__2 x = casadi__IMatrix__get__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__get__3" c_casadi__IMatrix__get__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__IMatrix__get__3
+  :: IMatrix -> Vector Int -> SparsityType -> IO ()
+casadi__IMatrix__get__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__get__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_get__3 :: IMatrixClass a => a -> Vector Int -> SparsityType -> IO ()
+imatrix_get__3 x = casadi__IMatrix__get__3 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__get__4" c_casadi__IMatrix__get__4
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
+casadi__IMatrix__get__4
+  :: IMatrix -> Int -> IO ()
+casadi__IMatrix__get__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__get__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_get__4 :: IMatrixClass a => a -> Int -> IO ()
+imatrix_get__4 x = casadi__IMatrix__get__4 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__get__5" c_casadi__IMatrix__get__5
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
+casadi__IMatrix__get__5
+  :: IMatrix -> Int -> SparsityType -> IO ()
+casadi__IMatrix__get__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__get__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_get__5 :: IMatrixClass a => a -> Int -> SparsityType -> IO ()
+imatrix_get__5 x = casadi__IMatrix__get__5 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getDep__0" c_casadi__IMatrix__getDep__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__getDep__0
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__getDep__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getDep__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getDep__0 :: IMatrixClass a => a -> IO IMatrix
+imatrix_getDep__0 x = casadi__IMatrix__getDep__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getDep__1" c_casadi__IMatrix__getDep__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__getDep__1
+  :: IMatrix -> Int -> IO IMatrix
+casadi__IMatrix__getDep__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getDep__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getDep__1 :: IMatrixClass a => a -> Int -> IO IMatrix
+imatrix_getDep__1 x = casadi__IMatrix__getDep__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getElement__0" c_casadi__IMatrix__getElement__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__getElement__0
+  :: IMatrix -> Int -> IO Int
+casadi__IMatrix__getElement__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getElement__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getElement__0 :: IMatrixClass a => a -> Int -> IO Int
+imatrix_getElement__0 x = casadi__IMatrix__getElement__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getElement__1" c_casadi__IMatrix__getElement__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO CInt
+casadi__IMatrix__getElement__1
+  :: IMatrix -> Int -> Int -> IO Int
+casadi__IMatrix__getElement__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getElement__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getElement__1 :: IMatrixClass a => a -> Int -> Int -> IO Int
+imatrix_getElement__1 x = casadi__IMatrix__getElement__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getElementHash" c_casadi__IMatrix__getElementHash
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CLong
+casadi__IMatrix__getElementHash
+  :: IMatrix -> IO Int
+casadi__IMatrix__getElementHash x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getElementHash errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getElementHash :: IMatrixClass a => a -> IO Int
+imatrix_getElementHash x = casadi__IMatrix__getElementHash (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getEqualityCheckingDepth" c_casadi__IMatrix__getEqualityCheckingDepth
+  :: Ptr (Ptr StdString) -> IO CInt
+casadi__IMatrix__getEqualityCheckingDepth
+  :: IO Int
+casadi__IMatrix__getEqualityCheckingDepth  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getEqualityCheckingDepth errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getEqualityCheckingDepth :: IO Int
+imatrix_getEqualityCheckingDepth = casadi__IMatrix__getEqualityCheckingDepth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getMaxNumCallsInPrint" c_casadi__IMatrix__getMaxNumCallsInPrint
+  :: Ptr (Ptr StdString) -> IO CLong
+casadi__IMatrix__getMaxNumCallsInPrint
+  :: IO Int
+casadi__IMatrix__getMaxNumCallsInPrint  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getMaxNumCallsInPrint errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getMaxNumCallsInPrint :: IO Int
+imatrix_getMaxNumCallsInPrint = casadi__IMatrix__getMaxNumCallsInPrint
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getNZ__0" c_casadi__IMatrix__getNZ__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__getNZ__0
+  :: IMatrix -> Bool -> IMatrix -> IO IMatrix
+casadi__IMatrix__getNZ__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getNZ__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getNZ__0 :: IMatrixClass a => a -> Bool -> IMatrix -> IO IMatrix
+imatrix_getNZ__0 x = casadi__IMatrix__getNZ__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getNZ__1" c_casadi__IMatrix__getNZ__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr Slice' -> IO (Ptr IMatrix')
+casadi__IMatrix__getNZ__1
+  :: IMatrix -> Bool -> Slice -> IO IMatrix
+casadi__IMatrix__getNZ__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getNZ__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getNZ__1 :: IMatrixClass a => a -> Bool -> Slice -> IO IMatrix
+imatrix_getNZ__1 x = casadi__IMatrix__getNZ__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getName" c_casadi__IMatrix__getName
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr StdString)
+casadi__IMatrix__getName
+  :: IMatrix -> IO String
+casadi__IMatrix__getName x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getName errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getName :: IMatrixClass a => a -> IO String
+imatrix_getName x = casadi__IMatrix__getName (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getNdeps" c_casadi__IMatrix__getNdeps
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__getNdeps
+  :: IMatrix -> IO Int
+casadi__IMatrix__getNdeps x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getNdeps errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getNdeps :: IMatrixClass a => a -> IO Int
+imatrix_getNdeps x = casadi__IMatrix__getNdeps (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getSub__0" c_casadi__IMatrix__getSub__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__getSub__0
+  :: IMatrix -> Bool -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__getSub__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getSub__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getSub__0 :: IMatrixClass a => a -> Bool -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_getSub__0 x = casadi__IMatrix__getSub__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getSub__1" c_casadi__IMatrix__getSub__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr IMatrix')
+casadi__IMatrix__getSub__1
+  :: IMatrix -> Bool -> IMatrix -> Slice -> IO IMatrix
+casadi__IMatrix__getSub__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getSub__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getSub__1 :: IMatrixClass a => a -> Bool -> IMatrix -> Slice -> IO IMatrix
+imatrix_getSub__1 x = casadi__IMatrix__getSub__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getSub__2" c_casadi__IMatrix__getSub__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__getSub__2
+  :: IMatrix -> Bool -> Slice -> IMatrix -> IO IMatrix
+casadi__IMatrix__getSub__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getSub__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getSub__2 :: IMatrixClass a => a -> Bool -> Slice -> IMatrix -> IO IMatrix
+imatrix_getSub__2 x = casadi__IMatrix__getSub__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getSub__3" c_casadi__IMatrix__getSub__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO (Ptr IMatrix')
+casadi__IMatrix__getSub__3
+  :: IMatrix -> Bool -> Slice -> Slice -> IO IMatrix
+casadi__IMatrix__getSub__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getSub__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getSub__3 :: IMatrixClass a => a -> Bool -> Slice -> Slice -> IO IMatrix
+imatrix_getSub__3 x = casadi__IMatrix__getSub__3 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getSub__4" c_casadi__IMatrix__getSub__4
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__getSub__4
+  :: IMatrix -> Bool -> Sparsity -> IO IMatrix
+casadi__IMatrix__getSub__4 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getSub__4 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getSub__4 :: IMatrixClass a => a -> Bool -> Sparsity -> IO IMatrix
+imatrix_getSub__4 x = casadi__IMatrix__getSub__4 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getSub__5" c_casadi__IMatrix__getSub__5
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__getSub__5
+  :: IMatrix -> Bool -> IMatrix -> IO IMatrix
+casadi__IMatrix__getSub__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getSub__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getSub__5 :: IMatrixClass a => a -> Bool -> IMatrix -> IO IMatrix
+imatrix_getSub__5 x = casadi__IMatrix__getSub__5 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getSub__6" c_casadi__IMatrix__getSub__6
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> Ptr Slice' -> IO (Ptr IMatrix')
+casadi__IMatrix__getSub__6
+  :: IMatrix -> Bool -> Slice -> IO IMatrix
+casadi__IMatrix__getSub__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getSub__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getSub__6 :: IMatrixClass a => a -> Bool -> Slice -> IO IMatrix
+imatrix_getSub__6 x = casadi__IMatrix__getSub__6 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getValue" c_casadi__IMatrix__getValue
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CDouble
+casadi__IMatrix__getValue
+  :: IMatrix -> IO Double
+casadi__IMatrix__getValue x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getValue errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getValue :: IMatrixClass a => a -> IO Double
+imatrix_getValue x = casadi__IMatrix__getValue (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__hasNZ" c_casadi__IMatrix__hasNZ
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO CInt
+casadi__IMatrix__hasNZ
+  :: IMatrix -> Int -> Int -> IO Bool
+casadi__IMatrix__hasNZ x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__hasNZ errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_hasNZ :: IMatrixClass a => a -> Int -> Int -> IO Bool
+imatrix_hasNZ x = casadi__IMatrix__hasNZ (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__hasNonStructuralZeros" c_casadi__IMatrix__hasNonStructuralZeros
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__hasNonStructuralZeros
+  :: IMatrix -> IO Bool
+casadi__IMatrix__hasNonStructuralZeros x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__hasNonStructuralZeros errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_hasNonStructuralZeros :: IMatrixClass a => a -> IO Bool
+imatrix_hasNonStructuralZeros x = casadi__IMatrix__hasNonStructuralZeros (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__inf__0" c_casadi__IMatrix__inf__0
+  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
+casadi__IMatrix__inf__0
+  :: IO IMatrix
+casadi__IMatrix__inf__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__inf__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_inf__0 :: IO IMatrix
+imatrix_inf__0 = casadi__IMatrix__inf__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__inf__1" c_casadi__IMatrix__inf__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__inf__1
+  :: Int -> IO IMatrix
+casadi__IMatrix__inf__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__inf__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_inf__1 :: Int -> IO IMatrix
+imatrix_inf__1 = casadi__IMatrix__inf__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__inf__2" c_casadi__IMatrix__inf__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__inf__2
+  :: Int -> Int -> IO IMatrix
+casadi__IMatrix__inf__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__inf__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_inf__2 :: Int -> Int -> IO IMatrix
+imatrix_inf__2 = casadi__IMatrix__inf__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__inf__3" c_casadi__IMatrix__inf__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__inf__3
+  :: Sparsity -> IO IMatrix
+casadi__IMatrix__inf__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__inf__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_inf__3 :: Sparsity -> IO IMatrix
+imatrix_inf__3 = casadi__IMatrix__inf__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isCommutative" c_casadi__IMatrix__isCommutative
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isCommutative
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isCommutative x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isCommutative errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isCommutative :: IMatrixClass a => a -> IO Bool
+imatrix_isCommutative x = casadi__IMatrix__isCommutative (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isConstant" c_casadi__IMatrix__isConstant
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isConstant
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isConstant x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isConstant errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isConstant :: IMatrixClass a => a -> IO Bool
+imatrix_isConstant x = casadi__IMatrix__isConstant (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isDense" c_casadi__IMatrix__isDense
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isDense
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isDense :: IMatrixClass a => a -> IO Bool
+imatrix_isDense x = casadi__IMatrix__isDense (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isEmpty__0" c_casadi__IMatrix__isEmpty__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isEmpty__0
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isEmpty__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isEmpty__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isEmpty__0 :: IMatrixClass a => a -> IO Bool
+imatrix_isEmpty__0 x = casadi__IMatrix__isEmpty__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isEmpty__1" c_casadi__IMatrix__isEmpty__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__isEmpty__1
+  :: IMatrix -> Bool -> IO Bool
+casadi__IMatrix__isEmpty__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isEmpty__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isEmpty__1 :: IMatrixClass a => a -> Bool -> IO Bool
+imatrix_isEmpty__1 x = casadi__IMatrix__isEmpty__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isIdentity" c_casadi__IMatrix__isIdentity
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isIdentity
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isIdentity x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isIdentity errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isIdentity :: IMatrixClass a => a -> IO Bool
+imatrix_isIdentity x = casadi__IMatrix__isIdentity (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isInteger" c_casadi__IMatrix__isInteger
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isInteger
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isInteger x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isInteger errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isInteger :: IMatrixClass a => a -> IO Bool
+imatrix_isInteger x = casadi__IMatrix__isInteger (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isLeaf" c_casadi__IMatrix__isLeaf
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isLeaf
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isLeaf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isLeaf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isLeaf :: IMatrixClass a => a -> IO Bool
+imatrix_isLeaf x = casadi__IMatrix__isLeaf (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isMinusOne" c_casadi__IMatrix__isMinusOne
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isMinusOne
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isMinusOne x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isMinusOne errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isMinusOne :: IMatrixClass a => a -> IO Bool
+imatrix_isMinusOne x = casadi__IMatrix__isMinusOne (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isOne" c_casadi__IMatrix__isOne
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isOne
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isOne x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isOne errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isOne :: IMatrixClass a => a -> IO Bool
+imatrix_isOne x = casadi__IMatrix__isOne (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isRegular" c_casadi__IMatrix__isRegular
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isRegular
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isRegular x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isRegular errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isRegular :: IMatrixClass a => a -> IO Bool
+imatrix_isRegular x = casadi__IMatrix__isRegular (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isScalar__0" c_casadi__IMatrix__isScalar__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isScalar__0
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isScalar__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isScalar__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isScalar__0 :: IMatrixClass a => a -> IO Bool
+imatrix_isScalar__0 x = casadi__IMatrix__isScalar__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isScalar__1" c_casadi__IMatrix__isScalar__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__isScalar__1
+  :: IMatrix -> Bool -> IO Bool
+casadi__IMatrix__isScalar__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isScalar__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isScalar__1 :: IMatrixClass a => a -> Bool -> IO Bool
+imatrix_isScalar__1 x = casadi__IMatrix__isScalar__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isSlice__0" c_casadi__IMatrix__isSlice__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isSlice__0
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isSlice__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isSlice__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isSlice__0 :: IMatrixClass a => a -> IO Bool
+imatrix_isSlice__0 x = casadi__IMatrix__isSlice__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isSlice__1" c_casadi__IMatrix__isSlice__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__isSlice__1
+  :: IMatrix -> Bool -> IO Bool
+casadi__IMatrix__isSlice__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isSlice__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isSlice__1 :: IMatrixClass a => a -> Bool -> IO Bool
+imatrix_isSlice__1 x = casadi__IMatrix__isSlice__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isSmooth" c_casadi__IMatrix__isSmooth
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isSmooth
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isSmooth x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isSmooth errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isSmooth :: IMatrixClass a => a -> IO Bool
+imatrix_isSmooth x = casadi__IMatrix__isSmooth (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isSquare" c_casadi__IMatrix__isSquare
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isSquare
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isSquare x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isSquare errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isSquare :: IMatrixClass a => a -> IO Bool
+imatrix_isSquare x = casadi__IMatrix__isSquare (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isSymbolic" c_casadi__IMatrix__isSymbolic
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isSymbolic
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isSymbolic x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isSymbolic errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isSymbolic :: IMatrixClass a => a -> IO Bool
+imatrix_isSymbolic x = casadi__IMatrix__isSymbolic (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isSymbolicSparse" c_casadi__IMatrix__isSymbolicSparse
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isSymbolicSparse
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isSymbolicSparse x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isSymbolicSparse errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isSymbolicSparse :: IMatrixClass a => a -> IO Bool
+imatrix_isSymbolicSparse x = casadi__IMatrix__isSymbolicSparse (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isTril" c_casadi__IMatrix__isTril
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isTril
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isTril x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isTril errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isTril :: IMatrixClass a => a -> IO Bool
+imatrix_isTril x = casadi__IMatrix__isTril (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isTriu" c_casadi__IMatrix__isTriu
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isTriu
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isTriu x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isTriu errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isTriu :: IMatrixClass a => a -> IO Bool
+imatrix_isTriu x = casadi__IMatrix__isTriu (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isVector" c_casadi__IMatrix__isVector
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isVector
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isVector :: IMatrixClass a => a -> IO Bool
+imatrix_isVector x = casadi__IMatrix__isVector (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__isZero" c_casadi__IMatrix__isZero
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__isZero
+  :: IMatrix -> IO Bool
+casadi__IMatrix__isZero x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__isZero errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_isZero :: IMatrixClass a => a -> IO Bool
+imatrix_isZero x = casadi__IMatrix__isZero (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__makeDense__0" c_casadi__IMatrix__makeDense__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__makeDense__0
+  :: IMatrix -> IO ()
+casadi__IMatrix__makeDense__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__makeDense__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_makeDense__0 :: IMatrixClass a => a -> IO ()
+imatrix_makeDense__0 x = casadi__IMatrix__makeDense__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__makeDense__1" c_casadi__IMatrix__makeDense__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
+casadi__IMatrix__makeDense__1
+  :: IMatrix -> Int -> IO ()
+casadi__IMatrix__makeDense__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__makeDense__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_makeDense__1 :: IMatrixClass a => a -> Int -> IO ()
+imatrix_makeDense__1 x = casadi__IMatrix__makeDense__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__makeSparse__0" c_casadi__IMatrix__makeSparse__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__makeSparse__0
+  :: IMatrix -> IO ()
+casadi__IMatrix__makeSparse__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__makeSparse__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_makeSparse__0 :: IMatrixClass a => a -> IO ()
+imatrix_makeSparse__0 x = casadi__IMatrix__makeSparse__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__makeSparse__1" c_casadi__IMatrix__makeSparse__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CDouble -> IO ()
+casadi__IMatrix__makeSparse__1
+  :: IMatrix -> Double -> IO ()
+casadi__IMatrix__makeSparse__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__makeSparse__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_makeSparse__1 :: IMatrixClass a => a -> Double -> IO ()
+imatrix_makeSparse__1 x = casadi__IMatrix__makeSparse__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__matrix_matrix" c_casadi__IMatrix__matrix_matrix
+  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__matrix_matrix
+  :: Int -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__matrix_matrix x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__matrix_matrix errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_matrix_matrix :: Int -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_matrix_matrix = casadi__IMatrix__matrix_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__matrix_scalar" c_casadi__IMatrix__matrix_scalar
+  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__matrix_scalar
+  :: Int -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__matrix_scalar x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__matrix_scalar errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_matrix_scalar :: Int -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_matrix_scalar = casadi__IMatrix__matrix_scalar
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc__0" c_casadi__IMatrix__mul_no_alloc__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__mul_no_alloc__0
+  :: IMatrix -> Vector Int -> Vector Int -> IO ()
+casadi__IMatrix__mul_no_alloc__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc__0 :: IMatrix -> Vector Int -> Vector Int -> IO ()
+imatrix_mul_no_alloc__0 = casadi__IMatrix__mul_no_alloc__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc__1" c_casadi__IMatrix__mul_no_alloc__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__IMatrix__mul_no_alloc__1
+  :: IMatrix -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__IMatrix__mul_no_alloc__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc__1 :: IMatrix -> Vector Int -> Vector Int -> Bool -> IO ()
+imatrix_mul_no_alloc__1 = casadi__IMatrix__mul_no_alloc__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc__2" c_casadi__IMatrix__mul_no_alloc__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__mul_no_alloc__2
+  :: IMatrix -> IMatrix -> IMatrix -> Vector Int -> IO ()
+casadi__IMatrix__mul_no_alloc__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc__2 :: IMatrix -> IMatrix -> IMatrix -> Vector Int -> IO ()
+imatrix_mul_no_alloc__2 = casadi__IMatrix__mul_no_alloc__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc__3" c_casadi__IMatrix__mul_no_alloc__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__IMatrix__mul_no_alloc__3
+  :: IMatrix -> IMatrix -> IMatrix -> Vector Int -> Bool -> IO ()
+casadi__IMatrix__mul_no_alloc__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc__3 :: IMatrix -> IMatrix -> IMatrix -> Vector Int -> Bool -> IO ()
+imatrix_mul_no_alloc__3 = casadi__IMatrix__mul_no_alloc__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_nn__0" c_casadi__IMatrix__mul_no_alloc_nn__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__mul_no_alloc_nn__0
+  :: IMatrix -> Vector Int -> Vector Int -> IO ()
+casadi__IMatrix__mul_no_alloc_nn__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc_nn__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc_nn__0 :: IMatrix -> Vector Int -> Vector Int -> IO ()
+imatrix_mul_no_alloc_nn__0 = casadi__IMatrix__mul_no_alloc_nn__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_nn__1" c_casadi__IMatrix__mul_no_alloc_nn__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__mul_no_alloc_nn__1
+  :: IMatrix -> IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__mul_no_alloc_nn__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc_nn__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc_nn__1 :: IMatrix -> IMatrix -> IMatrix -> IO ()
+imatrix_mul_no_alloc_nn__1 = casadi__IMatrix__mul_no_alloc_nn__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_nt" c_casadi__IMatrix__mul_no_alloc_nt
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__mul_no_alloc_nt
+  :: IMatrix -> IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__mul_no_alloc_nt x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc_nt errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc_nt :: IMatrix -> IMatrix -> IMatrix -> IO ()
+imatrix_mul_no_alloc_nt = casadi__IMatrix__mul_no_alloc_nt
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_tn__0" c_casadi__IMatrix__mul_no_alloc_tn__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__mul_no_alloc_tn__0
+  :: IMatrix -> Vector Int -> Vector Int -> IO ()
+casadi__IMatrix__mul_no_alloc_tn__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc_tn__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc_tn__0 :: IMatrix -> Vector Int -> Vector Int -> IO ()
+imatrix_mul_no_alloc_tn__0 = casadi__IMatrix__mul_no_alloc_tn__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__mul_no_alloc_tn__1" c_casadi__IMatrix__mul_no_alloc_tn__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__mul_no_alloc_tn__1
+  :: IMatrix -> IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__mul_no_alloc_tn__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__mul_no_alloc_tn__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_mul_no_alloc_tn__1 :: IMatrix -> IMatrix -> IMatrix -> IO ()
+imatrix_mul_no_alloc_tn__1 = casadi__IMatrix__mul_no_alloc_tn__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__nan__0" c_casadi__IMatrix__nan__0
+  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
+casadi__IMatrix__nan__0
+  :: IO IMatrix
+casadi__IMatrix__nan__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__nan__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_nan__0 :: IO IMatrix
+imatrix_nan__0 = casadi__IMatrix__nan__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__nan__1" c_casadi__IMatrix__nan__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__nan__1
+  :: Int -> IO IMatrix
+casadi__IMatrix__nan__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__nan__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_nan__1 :: Int -> IO IMatrix
+imatrix_nan__1 = casadi__IMatrix__nan__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__nan__2" c_casadi__IMatrix__nan__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__nan__2
+  :: Int -> Int -> IO IMatrix
+casadi__IMatrix__nan__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__nan__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_nan__2 :: Int -> Int -> IO IMatrix
+imatrix_nan__2 = casadi__IMatrix__nan__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__nan__3" c_casadi__IMatrix__nan__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__nan__3
+  :: Sparsity -> IO IMatrix
+casadi__IMatrix__nan__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__nan__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_nan__3 :: Sparsity -> IO IMatrix
+imatrix_nan__3 = casadi__IMatrix__nan__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__numel__0" c_casadi__IMatrix__numel__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__numel__0
+  :: IMatrix -> Int -> IO Int
+casadi__IMatrix__numel__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__numel__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_numel__0 :: IMatrixClass a => a -> Int -> IO Int
+imatrix_numel__0 x = casadi__IMatrix__numel__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__numel__1" c_casadi__IMatrix__numel__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__numel__1
+  :: IMatrix -> IO Int
+casadi__IMatrix__numel__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__numel__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_numel__1 :: IMatrixClass a => a -> IO Int
+imatrix_numel__1 x = casadi__IMatrix__numel__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__ones__0" c_casadi__IMatrix__ones__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__ones__0
+  :: Sparsity -> IO IMatrix
+casadi__IMatrix__ones__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__ones__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_ones__0 :: Sparsity -> IO IMatrix
+imatrix_ones__0 = casadi__IMatrix__ones__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__ones__1" c_casadi__IMatrix__ones__1
+  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
+casadi__IMatrix__ones__1
+  :: IO IMatrix
+casadi__IMatrix__ones__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__ones__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_ones__1 :: IO IMatrix
+imatrix_ones__1 = casadi__IMatrix__ones__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__ones__2" c_casadi__IMatrix__ones__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__ones__2
+  :: Int -> IO IMatrix
+casadi__IMatrix__ones__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__ones__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_ones__2 :: Int -> IO IMatrix
+imatrix_ones__2 = casadi__IMatrix__ones__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__ones__3" c_casadi__IMatrix__ones__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__ones__3
+  :: Int -> Int -> IO IMatrix
+casadi__IMatrix__ones__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__ones__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_ones__3 :: Int -> Int -> IO IMatrix
+imatrix_ones__3 = casadi__IMatrix__ones__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__printDense" c_casadi__IMatrix__printDense
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__printDense
+  :: IMatrix -> IO ()
+casadi__IMatrix__printDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__printDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_printDense :: IMatrixClass a => a -> IO ()
+imatrix_printDense x = casadi__IMatrix__printDense (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__printScalar" c_casadi__IMatrix__printScalar
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__printScalar
+  :: IMatrix -> IO ()
+casadi__IMatrix__printScalar x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__printScalar errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_printScalar :: IMatrixClass a => a -> IO ()
+imatrix_printScalar x = casadi__IMatrix__printScalar (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__printSparse" c_casadi__IMatrix__printSparse
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__printSparse
+  :: IMatrix -> IO ()
+casadi__IMatrix__printSparse x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__printSparse errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_printSparse :: IMatrixClass a => a -> IO ()
+imatrix_printSparse x = casadi__IMatrix__printSparse (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__printVector" c_casadi__IMatrix__printVector
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__printVector
+  :: IMatrix -> IO ()
+casadi__IMatrix__printVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__printVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_printVector :: IMatrixClass a => a -> IO ()
+imatrix_printVector x = casadi__IMatrix__printVector (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__printme" c_casadi__IMatrix__printme
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__printme
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__printme x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__printme errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_printme :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_printme x = casadi__IMatrix__printme (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__quad_form" c_casadi__IMatrix__quad_form
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__quad_form
+  :: Vector Int -> IMatrix -> IO Int
+casadi__IMatrix__quad_form x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__quad_form errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_quad_form :: Vector Int -> IMatrix -> IO Int
+imatrix_quad_form = casadi__IMatrix__quad_form
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__remove" c_casadi__IMatrix__remove
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__remove
+  :: IMatrix -> Vector Int -> Vector Int -> IO ()
+casadi__IMatrix__remove x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__remove errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_remove :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
+imatrix_remove x = casadi__IMatrix__remove (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__repmat__0" c_casadi__IMatrix__repmat__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__repmat__0
+  :: IMatrix -> Int -> IO IMatrix
+casadi__IMatrix__repmat__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__repmat__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_repmat__0 :: IMatrix -> Int -> IO IMatrix
+imatrix_repmat__0 = casadi__IMatrix__repmat__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__repmat__1" c_casadi__IMatrix__repmat__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__repmat__1
+  :: IMatrix -> Int -> Int -> IO IMatrix
+casadi__IMatrix__repmat__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__repmat__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_repmat__1 :: IMatrix -> Int -> Int -> IO IMatrix
+imatrix_repmat__1 = casadi__IMatrix__repmat__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__repmat__2" c_casadi__IMatrix__repmat__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__repmat__2
+  :: IMatrix -> Sparsity -> IO IMatrix
+casadi__IMatrix__repmat__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__repmat__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_repmat__2 :: IMatrix -> Sparsity -> IO IMatrix
+imatrix_repmat__2 = casadi__IMatrix__repmat__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__reserve__0" c_casadi__IMatrix__reserve__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
+casadi__IMatrix__reserve__0
+  :: IMatrix -> Int -> Int -> IO ()
+casadi__IMatrix__reserve__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__reserve__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_reserve__0 :: IMatrixClass a => a -> Int -> Int -> IO ()
+imatrix_reserve__0 x = casadi__IMatrix__reserve__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__reserve__1" c_casadi__IMatrix__reserve__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
+casadi__IMatrix__reserve__1
+  :: IMatrix -> Int -> IO ()
+casadi__IMatrix__reserve__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__reserve__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_reserve__1 :: IMatrixClass a => a -> Int -> IO ()
+imatrix_reserve__1 x = casadi__IMatrix__reserve__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__resize" c_casadi__IMatrix__resize
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
+casadi__IMatrix__resize
+  :: IMatrix -> Int -> Int -> IO ()
+casadi__IMatrix__resize x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__resize errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_resize :: IMatrixClass a => a -> Int -> Int -> IO ()
+imatrix_resize x = casadi__IMatrix__resize (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__row__0" c_casadi__IMatrix__row__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__row__0
+  :: IMatrix -> Int -> IO Int
+casadi__IMatrix__row__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__row__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_row__0 :: IMatrixClass a => a -> Int -> IO Int
+imatrix_row__0 x = casadi__IMatrix__row__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__row__1" c_casadi__IMatrix__row__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec CInt))
+casadi__IMatrix__row__1
+  :: IMatrix -> IO (Vector Int)
+casadi__IMatrix__row__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__row__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_row__1 :: IMatrixClass a => a -> IO (Vector Int)
+imatrix_row__1 x = casadi__IMatrix__row__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sanityCheck__0" c_casadi__IMatrix__sanityCheck__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__sanityCheck__0
+  :: IMatrix -> IO ()
+casadi__IMatrix__sanityCheck__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sanityCheck__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sanityCheck__0 :: IMatrixClass a => a -> IO ()
+imatrix_sanityCheck__0 x = casadi__IMatrix__sanityCheck__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sanityCheck__1" c_casadi__IMatrix__sanityCheck__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
+casadi__IMatrix__sanityCheck__1
+  :: IMatrix -> Bool -> IO ()
+casadi__IMatrix__sanityCheck__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sanityCheck__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sanityCheck__1 :: IMatrixClass a => a -> Bool -> IO ()
+imatrix_sanityCheck__1 x = casadi__IMatrix__sanityCheck__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__scalar_matrix" c_casadi__IMatrix__scalar_matrix
+  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__scalar_matrix
+  :: Int -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__scalar_matrix x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__scalar_matrix errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_scalar_matrix :: Int -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_scalar_matrix = casadi__IMatrix__scalar_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__set__0" c_casadi__IMatrix__set__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__set__0
+  :: IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__set__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__set__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_set__0 :: IMatrixClass a => a -> IMatrix -> IO ()
+imatrix_set__0 x = casadi__IMatrix__set__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__set__1" c_casadi__IMatrix__set__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO ()
+casadi__IMatrix__set__1
+  :: IMatrix -> IMatrix -> SparsityType -> IO ()
+casadi__IMatrix__set__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__set__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_set__1 :: IMatrixClass a => a -> IMatrix -> SparsityType -> IO ()
+imatrix_set__1 x = casadi__IMatrix__set__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__set__2" c_casadi__IMatrix__set__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__set__2
+  :: IMatrix -> Vector Int -> IO ()
+casadi__IMatrix__set__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__set__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_set__2 :: IMatrixClass a => a -> Vector Int -> IO ()
+imatrix_set__2 x = casadi__IMatrix__set__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__set__3" c_casadi__IMatrix__set__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__IMatrix__set__3
+  :: IMatrix -> Vector Int -> SparsityType -> IO ()
+casadi__IMatrix__set__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__set__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_set__3 :: IMatrixClass a => a -> Vector Int -> SparsityType -> IO ()
+imatrix_set__3 x = casadi__IMatrix__set__3 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__set__4" c_casadi__IMatrix__set__4
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
+casadi__IMatrix__set__4
+  :: IMatrix -> Int -> IO ()
+casadi__IMatrix__set__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__set__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_set__4 :: IMatrixClass a => a -> Int -> IO ()
+imatrix_set__4 x = casadi__IMatrix__set__4 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__set__5" c_casadi__IMatrix__set__5
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO ()
+casadi__IMatrix__set__5
+  :: IMatrix -> Int -> SparsityType -> IO ()
+casadi__IMatrix__set__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__set__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_set__5 :: IMatrixClass a => a -> Int -> SparsityType -> IO ()
+imatrix_set__5 x = casadi__IMatrix__set__5 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setAll" c_casadi__IMatrix__setAll
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO ()
+casadi__IMatrix__setAll
+  :: IMatrix -> Int -> IO ()
+casadi__IMatrix__setAll x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setAll errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setAll :: IMatrixClass a => a -> Int -> IO ()
+imatrix_setAll x = casadi__IMatrix__setAll (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setEqualityCheckingDepth__0" c_casadi__IMatrix__setEqualityCheckingDepth__0
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__IMatrix__setEqualityCheckingDepth__0
+  :: IO ()
+casadi__IMatrix__setEqualityCheckingDepth__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setEqualityCheckingDepth__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setEqualityCheckingDepth__0 :: IO ()
+imatrix_setEqualityCheckingDepth__0 = casadi__IMatrix__setEqualityCheckingDepth__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setEqualityCheckingDepth__1" c_casadi__IMatrix__setEqualityCheckingDepth__1
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__IMatrix__setEqualityCheckingDepth__1
+  :: Int -> IO ()
+casadi__IMatrix__setEqualityCheckingDepth__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setEqualityCheckingDepth__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setEqualityCheckingDepth__1 :: Int -> IO ()
+imatrix_setEqualityCheckingDepth__1 = casadi__IMatrix__setEqualityCheckingDepth__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setMaxNumCallsInPrint__0" c_casadi__IMatrix__setMaxNumCallsInPrint__0
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__IMatrix__setMaxNumCallsInPrint__0
+  :: IO ()
+casadi__IMatrix__setMaxNumCallsInPrint__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setMaxNumCallsInPrint__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setMaxNumCallsInPrint__0 :: IO ()
+imatrix_setMaxNumCallsInPrint__0 = casadi__IMatrix__setMaxNumCallsInPrint__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setMaxNumCallsInPrint__1" c_casadi__IMatrix__setMaxNumCallsInPrint__1
+  :: Ptr (Ptr StdString) -> CLong -> IO ()
+casadi__IMatrix__setMaxNumCallsInPrint__1
+  :: Int -> IO ()
+casadi__IMatrix__setMaxNumCallsInPrint__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setMaxNumCallsInPrint__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setMaxNumCallsInPrint__1 :: Int -> IO ()
+imatrix_setMaxNumCallsInPrint__1 = casadi__IMatrix__setMaxNumCallsInPrint__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setNZ__0" c_casadi__IMatrix__setNZ__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__setNZ__0
+  :: IMatrix -> IMatrix -> Bool -> IMatrix -> IO ()
+casadi__IMatrix__setNZ__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setNZ__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setNZ__0 :: IMatrixClass a => a -> IMatrix -> Bool -> IMatrix -> IO ()
+imatrix_setNZ__0 x = casadi__IMatrix__setNZ__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setNZ__1" c_casadi__IMatrix__setNZ__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr Slice' -> IO ()
+casadi__IMatrix__setNZ__1
+  :: IMatrix -> IMatrix -> Bool -> Slice -> IO ()
+casadi__IMatrix__setNZ__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setNZ__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setNZ__1 :: IMatrixClass a => a -> IMatrix -> Bool -> Slice -> IO ()
+imatrix_setNZ__1 x = casadi__IMatrix__setNZ__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setPrecision" c_casadi__IMatrix__setPrecision
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__IMatrix__setPrecision
+  :: Int -> IO ()
+casadi__IMatrix__setPrecision x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setPrecision errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setPrecision :: Int -> IO ()
+imatrix_setPrecision = casadi__IMatrix__setPrecision
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setScientific" c_casadi__IMatrix__setScientific
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__IMatrix__setScientific
+  :: Bool -> IO ()
+casadi__IMatrix__setScientific x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setScientific errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setScientific :: Bool -> IO ()
+imatrix_setScientific = casadi__IMatrix__setScientific
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSparse__0" c_casadi__IMatrix__setSparse__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__setSparse__0
+  :: IMatrix -> Sparsity -> IO IMatrix
+casadi__IMatrix__setSparse__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSparse__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSparse__0 :: IMatrixClass a => a -> Sparsity -> IO IMatrix
+imatrix_setSparse__0 x = casadi__IMatrix__setSparse__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSparse__1" c_casadi__IMatrix__setSparse__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__setSparse__1
+  :: IMatrix -> Sparsity -> Bool -> IO IMatrix
+casadi__IMatrix__setSparse__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSparse__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSparse__1 :: IMatrixClass a => a -> Sparsity -> Bool -> IO IMatrix
+imatrix_setSparse__1 x = casadi__IMatrix__setSparse__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSub__0" c_casadi__IMatrix__setSub__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__setSub__0
+  :: IMatrix -> IMatrix -> Bool -> IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__setSub__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSub__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSub__0 :: IMatrixClass a => a -> IMatrix -> Bool -> IMatrix -> IMatrix -> IO ()
+imatrix_setSub__0 x = casadi__IMatrix__setSub__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSub__1" c_casadi__IMatrix__setSub__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> Ptr Slice' -> IO ()
+casadi__IMatrix__setSub__1
+  :: IMatrix -> IMatrix -> Bool -> IMatrix -> Slice -> IO ()
+casadi__IMatrix__setSub__1 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSub__1 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSub__1 :: IMatrixClass a => a -> IMatrix -> Bool -> IMatrix -> Slice -> IO ()
+imatrix_setSub__1 x = casadi__IMatrix__setSub__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSub__2" c_casadi__IMatrix__setSub__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr Slice' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__setSub__2
+  :: IMatrix -> IMatrix -> Bool -> Slice -> IMatrix -> IO ()
+casadi__IMatrix__setSub__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSub__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSub__2 :: IMatrixClass a => a -> IMatrix -> Bool -> Slice -> IMatrix -> IO ()
+imatrix_setSub__2 x = casadi__IMatrix__setSub__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSub__3" c_casadi__IMatrix__setSub__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+casadi__IMatrix__setSub__3
+  :: IMatrix -> IMatrix -> Bool -> Slice -> Slice -> IO ()
+casadi__IMatrix__setSub__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSub__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSub__3 :: IMatrixClass a => a -> IMatrix -> Bool -> Slice -> Slice -> IO ()
+imatrix_setSub__3 x = casadi__IMatrix__setSub__3 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSub__4" c_casadi__IMatrix__setSub__4
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr Sparsity' -> IO ()
+casadi__IMatrix__setSub__4
+  :: IMatrix -> IMatrix -> Bool -> Sparsity -> IO ()
+casadi__IMatrix__setSub__4 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSub__4 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSub__4 :: IMatrixClass a => a -> IMatrix -> Bool -> Sparsity -> IO ()
+imatrix_setSub__4 x = casadi__IMatrix__setSub__4 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSub__5" c_casadi__IMatrix__setSub__5
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__setSub__5
+  :: IMatrix -> IMatrix -> Bool -> IMatrix -> IO ()
+casadi__IMatrix__setSub__5 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSub__5 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSub__5 :: IMatrixClass a => a -> IMatrix -> Bool -> IMatrix -> IO ()
+imatrix_setSub__5 x = casadi__IMatrix__setSub__5 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setSub__6" c_casadi__IMatrix__setSub__6
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr Slice' -> IO ()
+casadi__IMatrix__setSub__6
+  :: IMatrix -> IMatrix -> Bool -> Slice -> IO ()
+casadi__IMatrix__setSub__6 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setSub__6 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setSub__6 :: IMatrixClass a => a -> IMatrix -> Bool -> Slice -> IO ()
+imatrix_setSub__6 x = casadi__IMatrix__setSub__6 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setWidth" c_casadi__IMatrix__setWidth
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__IMatrix__setWidth
+  :: Int -> IO ()
+casadi__IMatrix__setWidth x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setWidth errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setWidth :: Int -> IO ()
+imatrix_setWidth = casadi__IMatrix__setWidth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__setZero" c_casadi__IMatrix__setZero
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__setZero
+  :: IMatrix -> IO ()
+casadi__IMatrix__setZero x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__setZero errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_setZero :: IMatrixClass a => a -> IO ()
+imatrix_setZero x = casadi__IMatrix__setZero (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__size__0" c_casadi__IMatrix__size__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__size__0
+  :: IMatrix -> SparsityType -> IO Int
+casadi__IMatrix__size__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__size__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_size__0 :: IMatrixClass a => a -> SparsityType -> IO Int
+imatrix_size__0 x = casadi__IMatrix__size__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__size__1" c_casadi__IMatrix__size__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__size__1
+  :: IMatrix -> IO Int
+casadi__IMatrix__size__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__size__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_size__1 :: IMatrixClass a => a -> IO Int
+imatrix_size__1 x = casadi__IMatrix__size__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__size1" c_casadi__IMatrix__size1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__size1
+  :: IMatrix -> IO Int
+casadi__IMatrix__size1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__size1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_size1 :: IMatrixClass a => a -> IO Int
+imatrix_size1 x = casadi__IMatrix__size1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__size2" c_casadi__IMatrix__size2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__size2
+  :: IMatrix -> IO Int
+casadi__IMatrix__size2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__size2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_size2 :: IMatrixClass a => a -> IO Int
+imatrix_size2 x = casadi__IMatrix__size2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sizeD" c_casadi__IMatrix__sizeD
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__sizeD
+  :: IMatrix -> IO Int
+casadi__IMatrix__sizeD x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sizeD errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sizeD :: IMatrixClass a => a -> IO Int
+imatrix_sizeD x = casadi__IMatrix__sizeD (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sizeL" c_casadi__IMatrix__sizeL
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__sizeL
+  :: IMatrix -> IO Int
+casadi__IMatrix__sizeL x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sizeL errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sizeL :: IMatrixClass a => a -> IO Int
+imatrix_sizeL x = casadi__IMatrix__sizeL (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sizeU" c_casadi__IMatrix__sizeU
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__sizeU
+  :: IMatrix -> IO Int
+casadi__IMatrix__sizeU x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sizeU errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sizeU :: IMatrixClass a => a -> IO Int
+imatrix_sizeU x = casadi__IMatrix__sizeU (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sparse__0" c_casadi__IMatrix__sparse__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__sparse__0
+  :: Sparsity -> IMatrix -> IO IMatrix
+casadi__IMatrix__sparse__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sparse__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sparse__0 :: Sparsity -> IMatrix -> IO IMatrix
+imatrix_sparse__0 = casadi__IMatrix__sparse__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sparse__1" c_casadi__IMatrix__sparse__1
+  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
+casadi__IMatrix__sparse__1
+  :: IO IMatrix
+casadi__IMatrix__sparse__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sparse__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sparse__1 :: IO IMatrix
+imatrix_sparse__1 = casadi__IMatrix__sparse__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sparse__2" c_casadi__IMatrix__sparse__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__sparse__2
+  :: Int -> IO IMatrix
+casadi__IMatrix__sparse__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sparse__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sparse__2 :: Int -> IO IMatrix
+imatrix_sparse__2 = casadi__IMatrix__sparse__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sparse__3" c_casadi__IMatrix__sparse__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__sparse__3
+  :: Int -> Int -> IO IMatrix
+casadi__IMatrix__sparse__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sparse__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sparse__3 :: Int -> Int -> IO IMatrix
+imatrix_sparse__3 = casadi__IMatrix__sparse__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sparsity__0" c_casadi__IMatrix__sparsity__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Sparsity')
+casadi__IMatrix__sparsity__0
+  :: IMatrix -> IO Sparsity
+casadi__IMatrix__sparsity__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sparsity__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sparsity__0 :: IMatrixClass a => a -> IO Sparsity
+imatrix_sparsity__0 x = casadi__IMatrix__sparsity__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sparsity__1" c_casadi__IMatrix__sparsity__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Sparsity')
+casadi__IMatrix__sparsity__1
+  :: IMatrix -> IO Sparsity
+casadi__IMatrix__sparsity__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sparsity__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sparsity__1 :: IMatrixClass a => a -> IO Sparsity
+imatrix_sparsity__1 x = casadi__IMatrix__sparsity__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sparsityRef__0" c_casadi__IMatrix__sparsityRef__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Sparsity')
+casadi__IMatrix__sparsityRef__0
+  :: IMatrix -> IO Sparsity
+casadi__IMatrix__sparsityRef__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sparsityRef__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sparsityRef__0 :: IMatrixClass a => a -> IO Sparsity
+imatrix_sparsityRef__0 x = casadi__IMatrix__sparsityRef__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sparsityRef__1" c_casadi__IMatrix__sparsityRef__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Sparsity')
+casadi__IMatrix__sparsityRef__1
+  :: IMatrix -> IO Sparsity
+casadi__IMatrix__sparsityRef__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sparsityRef__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sparsityRef__1 :: IMatrixClass a => a -> IO Sparsity
+imatrix_sparsityRef__1 x = casadi__IMatrix__sparsityRef__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sym__0" c_casadi__IMatrix__sym__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
+casadi__IMatrix__sym__0
+  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IMatrix))
+casadi__IMatrix__sym__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sym__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IMatrix))
+imatrix_sym__0 = casadi__IMatrix__sym__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sym__1" c_casadi__IMatrix__sym__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
+casadi__IMatrix__sym__1
+  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IMatrix))
+casadi__IMatrix__sym__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sym__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IMatrix))
+imatrix_sym__1 = casadi__IMatrix__sym__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sym__2" c_casadi__IMatrix__sym__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr IMatrix')))
+casadi__IMatrix__sym__2
+  :: String -> Int -> Int -> Int -> IO (Vector IMatrix)
+casadi__IMatrix__sym__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sym__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sym__2 :: String -> Int -> Int -> Int -> IO (Vector IMatrix)
+imatrix_sym__2 = casadi__IMatrix__sym__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sym__3" c_casadi__IMatrix__sym__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr IMatrix')))
+casadi__IMatrix__sym__3
+  :: String -> Sparsity -> Int -> IO (Vector IMatrix)
+casadi__IMatrix__sym__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sym__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sym__3 :: String -> Sparsity -> Int -> IO (Vector IMatrix)
+imatrix_sym__3 = casadi__IMatrix__sym__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sym__4" c_casadi__IMatrix__sym__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__sym__4
+  :: String -> Sparsity -> IO IMatrix
+casadi__IMatrix__sym__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sym__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sym__4 :: String -> Sparsity -> IO IMatrix
+imatrix_sym__4 = casadi__IMatrix__sym__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sym__5" c_casadi__IMatrix__sym__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr IMatrix')
+casadi__IMatrix__sym__5
+  :: String -> IO IMatrix
+casadi__IMatrix__sym__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sym__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sym__5 :: String -> IO IMatrix
+imatrix_sym__5 = casadi__IMatrix__sym__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sym__6" c_casadi__IMatrix__sym__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__sym__6
+  :: String -> Int -> IO IMatrix
+casadi__IMatrix__sym__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sym__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sym__6 :: String -> Int -> IO IMatrix
+imatrix_sym__6 = casadi__IMatrix__sym__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__sym__7" c_casadi__IMatrix__sym__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__sym__7
+  :: String -> Int -> Int -> IO IMatrix
+casadi__IMatrix__sym__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__sym__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_sym__7 :: String -> Int -> Int -> IO IMatrix
+imatrix_sym__7 = casadi__IMatrix__sym__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__toScalar" c_casadi__IMatrix__toScalar
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__toScalar
+  :: IMatrix -> IO Int
+casadi__IMatrix__toScalar x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__toScalar errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_toScalar :: IMatrixClass a => a -> IO Int
+imatrix_toScalar x = casadi__IMatrix__toScalar (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__toSlice__0" c_casadi__IMatrix__toSlice__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr Slice')
+casadi__IMatrix__toSlice__0
+  :: IMatrix -> IO Slice
+casadi__IMatrix__toSlice__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__toSlice__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_toSlice__0 :: IMatrixClass a => a -> IO Slice
+imatrix_toSlice__0 x = casadi__IMatrix__toSlice__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__toSlice__1" c_casadi__IMatrix__toSlice__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr Slice')
+casadi__IMatrix__toSlice__1
+  :: IMatrix -> Bool -> IO Slice
+casadi__IMatrix__toSlice__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__toSlice__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_toSlice__1 :: IMatrixClass a => a -> Bool -> IO Slice
+imatrix_toSlice__1 x = casadi__IMatrix__toSlice__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__triplet__0" c_casadi__IMatrix__triplet__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__triplet__0
+  :: Vector Int -> Vector Int -> Vector Int -> Int -> Int -> IO IMatrix
+casadi__IMatrix__triplet__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__triplet__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_triplet__0 :: Vector Int -> Vector Int -> Vector Int -> Int -> Int -> IO IMatrix
+imatrix_triplet__0 = casadi__IMatrix__triplet__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__triplet__1" c_casadi__IMatrix__triplet__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
+casadi__IMatrix__triplet__1
+  :: Vector Int -> Vector Int -> Vector Int -> IO IMatrix
+casadi__IMatrix__triplet__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__triplet__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_triplet__1 :: Vector Int -> Vector Int -> Vector Int -> IO IMatrix
+imatrix_triplet__1 = casadi__IMatrix__triplet__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__unary" c_casadi__IMatrix__unary
+  :: Ptr (Ptr StdString) -> CInt -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__unary
+  :: Int -> IMatrix -> IO IMatrix
+casadi__IMatrix__unary x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__unary errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_unary :: Int -> IMatrix -> IO IMatrix
+imatrix_unary = casadi__IMatrix__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zeros__0" c_casadi__IMatrix__zeros__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__zeros__0
+  :: Sparsity -> IO IMatrix
+casadi__IMatrix__zeros__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zeros__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zeros__0 :: Sparsity -> IO IMatrix
+imatrix_zeros__0 = casadi__IMatrix__zeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zeros__1" c_casadi__IMatrix__zeros__1
+  :: Ptr (Ptr StdString) -> IO (Ptr IMatrix')
+casadi__IMatrix__zeros__1
+  :: IO IMatrix
+casadi__IMatrix__zeros__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zeros__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zeros__1 :: IO IMatrix
+imatrix_zeros__1 = casadi__IMatrix__zeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zeros__2" c_casadi__IMatrix__zeros__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zeros__2
+  :: Int -> IO IMatrix
+casadi__IMatrix__zeros__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zeros__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zeros__2 :: Int -> IO IMatrix
+imatrix_zeros__2 = casadi__IMatrix__zeros__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zeros__3" c_casadi__IMatrix__zeros__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zeros__3
+  :: Int -> Int -> IO IMatrix
+casadi__IMatrix__zeros__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zeros__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zeros__3 :: Int -> Int -> IO IMatrix
+imatrix_zeros__3 = casadi__IMatrix__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_abs" c_casadi__IMatrix__zz_abs
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_abs
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_abs x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_abs errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_abs :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_abs x = casadi__IMatrix__zz_abs (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_acos" c_casadi__IMatrix__zz_acos
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_acos
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_acos x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_acos errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_acos :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_acos x = casadi__IMatrix__zz_acos (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_acosh" c_casadi__IMatrix__zz_acosh
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_acosh
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_acosh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_acosh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_acosh :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_acosh x = casadi__IMatrix__zz_acosh (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_addMultiple__0" c_casadi__IMatrix__zz_addMultiple__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__IMatrix__zz_addMultiple__0
+  :: IMatrix -> Vector Int -> Vector Int -> IO ()
+casadi__IMatrix__zz_addMultiple__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_addMultiple__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_addMultiple__0 :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
+imatrix_zz_addMultiple__0 x = casadi__IMatrix__zz_addMultiple__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_addMultiple__1" c_casadi__IMatrix__zz_addMultiple__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__IMatrix__zz_addMultiple__1
+  :: IMatrix -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__IMatrix__zz_addMultiple__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_addMultiple__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_addMultiple__1 :: IMatrixClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+imatrix_zz_addMultiple__1 x = casadi__IMatrix__zz_addMultiple__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_adj" c_casadi__IMatrix__zz_adj
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_adj
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_adj x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_adj errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_adj :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_adj x = casadi__IMatrix__zz_adj (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_all" c_casadi__IMatrix__zz_all
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_all
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_all x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_all errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_all :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_all x = casadi__IMatrix__zz_all (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_and" c_casadi__IMatrix__zz_and
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_and
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_and x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_and errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_and :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_and x = casadi__IMatrix__zz_and (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_any" c_casadi__IMatrix__zz_any
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_any
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_any x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_any errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_any :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_any x = casadi__IMatrix__zz_any (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_asin" c_casadi__IMatrix__zz_asin
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_asin
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_asin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_asin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_asin :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_asin x = casadi__IMatrix__zz_asin (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_asinh" c_casadi__IMatrix__zz_asinh
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_asinh
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_asinh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_asinh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_asinh :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_asinh x = casadi__IMatrix__zz_asinh (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_atan" c_casadi__IMatrix__zz_atan
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_atan
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_atan x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_atan errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_atan :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_atan x = casadi__IMatrix__zz_atan (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_atan2" c_casadi__IMatrix__zz_atan2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_atan2
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_atan2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_atan2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_atan2 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_atan2 x = casadi__IMatrix__zz_atan2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_atanh" c_casadi__IMatrix__zz_atanh
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_atanh
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_atanh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_atanh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_atanh :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_atanh x = casadi__IMatrix__zz_atanh (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_blockcat" c_casadi__IMatrix__zz_blockcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))) -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_blockcat
+  :: Vector (Vector IMatrix) -> IO IMatrix
+casadi__IMatrix__zz_blockcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_blockcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_blockcat :: Vector (Vector IMatrix) -> IO IMatrix
+imatrix_zz_blockcat = casadi__IMatrix__zz_blockcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_blocksplit" c_casadi__IMatrix__zz_blocksplit
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
+casadi__IMatrix__zz_blocksplit
+  :: IMatrix -> Vector Int -> Vector Int -> IO (Vector (Vector IMatrix))
+casadi__IMatrix__zz_blocksplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_blocksplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_blocksplit :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO (Vector (Vector IMatrix))
+imatrix_zz_blocksplit x = casadi__IMatrix__zz_blocksplit (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_ceil" c_casadi__IMatrix__zz_ceil
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_ceil
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_ceil x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_ceil errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_ceil :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_ceil x = casadi__IMatrix__zz_ceil (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_cofactor" c_casadi__IMatrix__zz_cofactor
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_cofactor
+  :: IMatrix -> Int -> Int -> IO IMatrix
+casadi__IMatrix__zz_cofactor x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_cofactor errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_cofactor :: IMatrixClass a => a -> Int -> Int -> IO IMatrix
+imatrix_zz_cofactor x = casadi__IMatrix__zz_cofactor (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_cos" c_casadi__IMatrix__zz_cos
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_cos
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_cos x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_cos errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_cos :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_cos x = casadi__IMatrix__zz_cos (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_cosh" c_casadi__IMatrix__zz_cosh
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_cosh
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_cosh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_cosh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_cosh :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_cosh x = casadi__IMatrix__zz_cosh (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_countNodes" c_casadi__IMatrix__zz_countNodes
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__zz_countNodes
+  :: IMatrix -> IO Int
+casadi__IMatrix__zz_countNodes x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_countNodes errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_countNodes :: IMatrixClass a => a -> IO Int
+imatrix_zz_countNodes x = casadi__IMatrix__zz_countNodes (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_cross__0" c_casadi__IMatrix__zz_cross__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_cross__0
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_cross__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_cross__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_cross__0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_cross__0 x = casadi__IMatrix__zz_cross__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_cross__1" c_casadi__IMatrix__zz_cross__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_cross__1
+  :: IMatrix -> IMatrix -> Int -> IO IMatrix
+casadi__IMatrix__zz_cross__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_cross__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_cross__1 :: IMatrixClass a => a -> IMatrix -> Int -> IO IMatrix
+imatrix_zz_cross__1 x = casadi__IMatrix__zz_cross__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_dense" c_casadi__IMatrix__zz_dense
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_dense
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_dense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_dense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_dense :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_dense x = casadi__IMatrix__zz_dense (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_dependsOn" c_casadi__IMatrix__zz_dependsOn
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__zz_dependsOn
+  :: IMatrix -> IMatrix -> IO Bool
+casadi__IMatrix__zz_dependsOn x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_dependsOn errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_dependsOn :: IMatrixClass a => a -> IMatrix -> IO Bool
+imatrix_zz_dependsOn x = casadi__IMatrix__zz_dependsOn (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_det" c_casadi__IMatrix__zz_det
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_det
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_det x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_det errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_det :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_det x = casadi__IMatrix__zz_det (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_diag" c_casadi__IMatrix__zz_diag
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_diag
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_diag x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_diag errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_diag :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_diag x = casadi__IMatrix__zz_diag (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_diagcat" c_casadi__IMatrix__zz_diagcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_diagcat
+  :: Vector IMatrix -> IO IMatrix
+casadi__IMatrix__zz_diagcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_diagcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_diagcat :: Vector IMatrix -> IO IMatrix
+imatrix_zz_diagcat = casadi__IMatrix__zz_diagcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_diagsplit" c_casadi__IMatrix__zz_diagsplit
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IMatrix')))
+casadi__IMatrix__zz_diagsplit
+  :: IMatrix -> Vector Int -> Vector Int -> IO (Vector IMatrix)
+casadi__IMatrix__zz_diagsplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_diagsplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_diagsplit :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO (Vector IMatrix)
+imatrix_zz_diagsplit x = casadi__IMatrix__zz_diagsplit (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_eig_symbolic" c_casadi__IMatrix__zz_eig_symbolic
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_eig_symbolic
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_eig_symbolic x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_eig_symbolic errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_eig_symbolic :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_eig_symbolic x = casadi__IMatrix__zz_eig_symbolic (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_eq" c_casadi__IMatrix__zz_eq
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_eq
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_eq x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_eq errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_eq :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_eq x = casadi__IMatrix__zz_eq (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_erf" c_casadi__IMatrix__zz_erf
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_erf
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_erf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_erf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_erf :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_erf x = casadi__IMatrix__zz_erf (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_erfinv" c_casadi__IMatrix__zz_erfinv
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_erfinv
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_erfinv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_erfinv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_erfinv :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_erfinv x = casadi__IMatrix__zz_erfinv (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_exp" c_casadi__IMatrix__zz_exp
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_exp
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_exp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_exp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_exp :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_exp x = casadi__IMatrix__zz_exp (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_expand" c_casadi__IMatrix__zz_expand
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__zz_expand
+  :: IMatrix -> IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__zz_expand x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_expand errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_expand :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
+imatrix_zz_expand x = casadi__IMatrix__zz_expand (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_extractShared__0" c_casadi__IMatrix__zz_extractShared__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> IO ()
+casadi__IMatrix__zz_extractShared__0
+  :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> IO ()
+casadi__IMatrix__zz_extractShared__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_extractShared__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_extractShared__0 :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> IO ()
+imatrix_zz_extractShared__0 = casadi__IMatrix__zz_extractShared__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_extractShared__1" c_casadi__IMatrix__zz_extractShared__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr StdString -> IO ()
+casadi__IMatrix__zz_extractShared__1
+  :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> String -> IO ()
+casadi__IMatrix__zz_extractShared__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_extractShared__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_extractShared__1 :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> String -> IO ()
+imatrix_zz_extractShared__1 = casadi__IMatrix__zz_extractShared__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_extractShared__2" c_casadi__IMatrix__zz_extractShared__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr StdString -> Ptr StdString -> IO ()
+casadi__IMatrix__zz_extractShared__2
+  :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> String -> String -> IO ()
+casadi__IMatrix__zz_extractShared__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_extractShared__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_extractShared__2 :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> String -> String -> IO ()
+imatrix_zz_extractShared__2 = casadi__IMatrix__zz_extractShared__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_floor" c_casadi__IMatrix__zz_floor
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_floor
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_floor x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_floor errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_floor :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_floor x = casadi__IMatrix__zz_floor (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_gauss_quadrature__0" c_casadi__IMatrix__zz_gauss_quadrature__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_gauss_quadrature__0
+  :: IMatrix -> IMatrix -> IMatrix -> IMatrix -> Int -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_gauss_quadrature__0 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_gauss_quadrature__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_gauss_quadrature__0 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IMatrix -> Int -> IMatrix -> IO IMatrix
+imatrix_zz_gauss_quadrature__0 x = casadi__IMatrix__zz_gauss_quadrature__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_gauss_quadrature__1" c_casadi__IMatrix__zz_gauss_quadrature__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_gauss_quadrature__1
+  :: IMatrix -> IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_gauss_quadrature__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_gauss_quadrature__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_gauss_quadrature__1 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_gauss_quadrature__1 x = casadi__IMatrix__zz_gauss_quadrature__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_gauss_quadrature__2" c_casadi__IMatrix__zz_gauss_quadrature__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_gauss_quadrature__2
+  :: IMatrix -> IMatrix -> IMatrix -> IMatrix -> Int -> IO IMatrix
+casadi__IMatrix__zz_gauss_quadrature__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_gauss_quadrature__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_gauss_quadrature__2 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IMatrix -> Int -> IO IMatrix
+imatrix_zz_gauss_quadrature__2 x = casadi__IMatrix__zz_gauss_quadrature__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_ge" c_casadi__IMatrix__zz_ge
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_ge
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_ge x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_ge errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_ge :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_ge x = casadi__IMatrix__zz_ge (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_getMinor" c_casadi__IMatrix__zz_getMinor
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_getMinor
+  :: IMatrix -> Int -> Int -> IO IMatrix
+casadi__IMatrix__zz_getMinor x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_getMinor errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_getMinor :: IMatrixClass a => a -> Int -> Int -> IO IMatrix
+imatrix_zz_getMinor x = casadi__IMatrix__zz_getMinor (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_getOperatorRepresentation" c_casadi__IMatrix__zz_getOperatorRepresentation
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+casadi__IMatrix__zz_getOperatorRepresentation
+  :: IMatrix -> Vector String -> IO String
+casadi__IMatrix__zz_getOperatorRepresentation x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_getOperatorRepresentation errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_getOperatorRepresentation :: IMatrixClass a => a -> Vector String -> IO String
+imatrix_zz_getOperatorRepresentation x = casadi__IMatrix__zz_getOperatorRepresentation (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_getSymbols__0" c_casadi__IMatrix__zz_getSymbols__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr (StdVec (Ptr IMatrix')))
+casadi__IMatrix__zz_getSymbols__0
+  :: Vector IMatrix -> IO (Vector IMatrix)
+casadi__IMatrix__zz_getSymbols__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_getSymbols__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_getSymbols__0 :: Vector IMatrix -> IO (Vector IMatrix)
+imatrix_zz_getSymbols__0 = casadi__IMatrix__zz_getSymbols__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_getSymbols__1" c_casadi__IMatrix__zz_getSymbols__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec (Ptr IMatrix')))
+casadi__IMatrix__zz_getSymbols__1
+  :: IMatrix -> IO (Vector IMatrix)
+casadi__IMatrix__zz_getSymbols__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_getSymbols__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_getSymbols__1 :: IMatrixClass a => a -> IO (Vector IMatrix)
+imatrix_zz_getSymbols__1 x = casadi__IMatrix__zz_getSymbols__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_gradient" c_casadi__IMatrix__zz_gradient
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_gradient
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_gradient x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_gradient errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_gradient :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_gradient x = casadi__IMatrix__zz_gradient (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_gt" c_casadi__IMatrix__zz_gt
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_gt
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_gt x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_gt errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_gt :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_gt x = casadi__IMatrix__zz_gt (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_heaviside" c_casadi__IMatrix__zz_heaviside
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_heaviside
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_heaviside x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_heaviside errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_heaviside :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_heaviside x = casadi__IMatrix__zz_heaviside (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_hessian__0" c_casadi__IMatrix__zz_hessian__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__zz_hessian__0
+  :: IMatrix -> IMatrix -> IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__zz_hessian__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_hessian__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_hessian__0 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IMatrix -> IO ()
+imatrix_zz_hessian__0 x = casadi__IMatrix__zz_hessian__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_hessian__1" c_casadi__IMatrix__zz_hessian__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_hessian__1
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_hessian__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_hessian__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_hessian__1 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_hessian__1 x = casadi__IMatrix__zz_hessian__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_horzcat" c_casadi__IMatrix__zz_horzcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_horzcat
+  :: Vector IMatrix -> IO IMatrix
+casadi__IMatrix__zz_horzcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_horzcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_horzcat :: Vector IMatrix -> IO IMatrix
+imatrix_zz_horzcat = casadi__IMatrix__zz_horzcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_horzsplit" c_casadi__IMatrix__zz_horzsplit
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IMatrix')))
+casadi__IMatrix__zz_horzsplit
+  :: IMatrix -> Vector Int -> IO (Vector IMatrix)
+casadi__IMatrix__zz_horzsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_horzsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_horzsplit :: IMatrixClass a => a -> Vector Int -> IO (Vector IMatrix)
+imatrix_zz_horzsplit x = casadi__IMatrix__zz_horzsplit (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_if_else" c_casadi__IMatrix__zz_if_else
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_if_else
+  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_if_else x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_if_else errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_if_else :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_if_else x = casadi__IMatrix__zz_if_else (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_if_else_zero" c_casadi__IMatrix__zz_if_else_zero
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_if_else_zero
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_if_else_zero x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_if_else_zero errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_if_else_zero :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_if_else_zero x = casadi__IMatrix__zz_if_else_zero (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_inner_prod" c_casadi__IMatrix__zz_inner_prod
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_inner_prod
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_inner_prod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_inner_prod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_inner_prod :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_inner_prod x = casadi__IMatrix__zz_inner_prod (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_inv" c_casadi__IMatrix__zz_inv
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_inv
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_inv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_inv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_inv :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_inv x = casadi__IMatrix__zz_inv (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_isEqual__0" c_casadi__IMatrix__zz_isEqual__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__zz_isEqual__0
+  :: IMatrix -> IMatrix -> IO Bool
+casadi__IMatrix__zz_isEqual__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_isEqual__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_isEqual__0 :: IMatrixClass a => a -> IMatrix -> IO Bool
+imatrix_zz_isEqual__0 x = casadi__IMatrix__zz_isEqual__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_isEqual__1" c_casadi__IMatrix__zz_isEqual__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO CInt
+casadi__IMatrix__zz_isEqual__1
+  :: IMatrix -> IMatrix -> Int -> IO Bool
+casadi__IMatrix__zz_isEqual__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_isEqual__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_isEqual__1 :: IMatrixClass a => a -> IMatrix -> Int -> IO Bool
+imatrix_zz_isEqual__1 x = casadi__IMatrix__zz_isEqual__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_jacobian" c_casadi__IMatrix__zz_jacobian
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_jacobian
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_jacobian x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_jacobian errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_jacobian :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_jacobian x = casadi__IMatrix__zz_jacobian (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_jacobianTimesVector__0" c_casadi__IMatrix__zz_jacobianTimesVector__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_jacobianTimesVector__0
+  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_jacobianTimesVector__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_jacobianTimesVector__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_jacobianTimesVector__0 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_jacobianTimesVector__0 x = casadi__IMatrix__zz_jacobianTimesVector__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_jacobianTimesVector__1" c_casadi__IMatrix__zz_jacobianTimesVector__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_jacobianTimesVector__1
+  :: IMatrix -> IMatrix -> IMatrix -> Bool -> IO IMatrix
+casadi__IMatrix__zz_jacobianTimesVector__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_jacobianTimesVector__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_jacobianTimesVector__1 :: IMatrixClass a => a -> IMatrix -> IMatrix -> Bool -> IO IMatrix
+imatrix_zz_jacobianTimesVector__1 x = casadi__IMatrix__zz_jacobianTimesVector__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_kron" c_casadi__IMatrix__zz_kron
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_kron
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_kron x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_kron errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_kron :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_kron x = casadi__IMatrix__zz_kron (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_le" c_casadi__IMatrix__zz_le
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_le
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_le x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_le errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_le :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_le x = casadi__IMatrix__zz_le (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_linspace" c_casadi__IMatrix__zz_linspace
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_linspace
+  :: IMatrix -> IMatrix -> Int -> IO IMatrix
+casadi__IMatrix__zz_linspace x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_linspace errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_linspace :: IMatrixClass a => a -> IMatrix -> Int -> IO IMatrix
+imatrix_zz_linspace x = casadi__IMatrix__zz_linspace (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_log" c_casadi__IMatrix__zz_log
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_log
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_log x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_log errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_log :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_log x = casadi__IMatrix__zz_log (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_log10" c_casadi__IMatrix__zz_log10
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_log10
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_log10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_log10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_log10 :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_log10 x = casadi__IMatrix__zz_log10 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_lt" c_casadi__IMatrix__zz_lt
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_lt
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_lt x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_lt errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_lt :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_lt x = casadi__IMatrix__zz_lt (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_max" c_casadi__IMatrix__zz_max
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_max
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_max x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_max errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_max :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_max x = casadi__IMatrix__zz_max (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_min" c_casadi__IMatrix__zz_min
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_min
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_min x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_min errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_min :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_min x = casadi__IMatrix__zz_min (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_minus" c_casadi__IMatrix__zz_minus
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_minus
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_minus x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_minus errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_minus :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_minus x = casadi__IMatrix__zz_minus (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_mod" c_casadi__IMatrix__zz_mod
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_mod
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_mod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_mod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_mod :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_mod x = casadi__IMatrix__zz_mod (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_mpower" c_casadi__IMatrix__zz_mpower
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_mpower
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_mpower x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_mpower errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_mpower :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_mpower x = casadi__IMatrix__zz_mpower (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_mtaylor__0" c_casadi__IMatrix__zz_mtaylor__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_mtaylor__0
+  :: IMatrix -> IMatrix -> IMatrix -> Int -> Vector Int -> IO IMatrix
+casadi__IMatrix__zz_mtaylor__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_mtaylor__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_mtaylor__0 :: IMatrixClass a => a -> IMatrix -> IMatrix -> Int -> Vector Int -> IO IMatrix
+imatrix_zz_mtaylor__0 x = casadi__IMatrix__zz_mtaylor__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_mtaylor__1" c_casadi__IMatrix__zz_mtaylor__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_mtaylor__1
+  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_mtaylor__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_mtaylor__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_mtaylor__1 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_mtaylor__1 x = casadi__IMatrix__zz_mtaylor__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_mtaylor__2" c_casadi__IMatrix__zz_mtaylor__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_mtaylor__2
+  :: IMatrix -> IMatrix -> IMatrix -> Int -> IO IMatrix
+casadi__IMatrix__zz_mtaylor__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_mtaylor__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_mtaylor__2 :: IMatrixClass a => a -> IMatrix -> IMatrix -> Int -> IO IMatrix
+imatrix_zz_mtaylor__2 x = casadi__IMatrix__zz_mtaylor__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_mtimes__0" c_casadi__IMatrix__zz_mtimes__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_mtimes__0
+  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_mtimes__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_mtimes__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_mtimes__0 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_mtimes__0 x = casadi__IMatrix__zz_mtimes__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_mtimes__1" c_casadi__IMatrix__zz_mtimes__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_mtimes__1
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_mtimes__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_mtimes__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_mtimes__1 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_mtimes__1 x = casadi__IMatrix__zz_mtimes__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_ne" c_casadi__IMatrix__zz_ne
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_ne
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_ne x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_ne errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_ne :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_ne x = casadi__IMatrix__zz_ne (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_norm_0_mul_nn" c_casadi__IMatrix__zz_norm_0_mul_nn
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
+casadi__IMatrix__zz_norm_0_mul_nn
+  :: IMatrix -> IMatrix -> Vector Bool -> Vector Int -> IO Int
+casadi__IMatrix__zz_norm_0_mul_nn x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_norm_0_mul_nn errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_norm_0_mul_nn :: IMatrixClass a => a -> IMatrix -> Vector Bool -> Vector Int -> IO Int
+imatrix_zz_norm_0_mul_nn x = casadi__IMatrix__zz_norm_0_mul_nn (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_norm_1" c_casadi__IMatrix__zz_norm_1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_norm_1
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_norm_1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_norm_1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_norm_1 :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_norm_1 x = casadi__IMatrix__zz_norm_1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_norm_2" c_casadi__IMatrix__zz_norm_2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_norm_2
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_norm_2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_norm_2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_norm_2 :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_norm_2 x = casadi__IMatrix__zz_norm_2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_norm_F" c_casadi__IMatrix__zz_norm_F
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_norm_F
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_norm_F x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_norm_F errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_norm_F :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_norm_F x = casadi__IMatrix__zz_norm_F (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_norm_inf" c_casadi__IMatrix__zz_norm_inf
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_norm_inf
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_norm_inf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_norm_inf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_norm_inf :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_norm_inf x = casadi__IMatrix__zz_norm_inf (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_norm_inf_mul_nn" c_casadi__IMatrix__zz_norm_inf_mul_nn
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
+casadi__IMatrix__zz_norm_inf_mul_nn
+  :: IMatrix -> IMatrix -> Vector Int -> Vector Int -> IO Int
+casadi__IMatrix__zz_norm_inf_mul_nn x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_norm_inf_mul_nn errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_norm_inf_mul_nn :: IMatrixClass a => a -> IMatrix -> Vector Int -> Vector Int -> IO Int
+imatrix_zz_norm_inf_mul_nn x = casadi__IMatrix__zz_norm_inf_mul_nn (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_not" c_casadi__IMatrix__zz_not
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_not
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_not x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_not errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_not :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_not x = casadi__IMatrix__zz_not (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_nullspace" c_casadi__IMatrix__zz_nullspace
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_nullspace
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_nullspace x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_nullspace errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_nullspace :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_nullspace x = casadi__IMatrix__zz_nullspace (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_or" c_casadi__IMatrix__zz_or
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_or
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_or x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_or errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_or :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_or x = casadi__IMatrix__zz_or (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_outer_prod" c_casadi__IMatrix__zz_outer_prod
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_outer_prod
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_outer_prod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_outer_prod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_outer_prod :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_outer_prod x = casadi__IMatrix__zz_outer_prod (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_pinv" c_casadi__IMatrix__zz_pinv
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_pinv
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_pinv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_pinv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_pinv :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_pinv x = casadi__IMatrix__zz_pinv (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_plus" c_casadi__IMatrix__zz_plus
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_plus
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_plus x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_plus errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_plus :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_plus x = casadi__IMatrix__zz_plus (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_poly_coeff" c_casadi__IMatrix__zz_poly_coeff
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_poly_coeff
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_poly_coeff x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_poly_coeff errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_poly_coeff :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_poly_coeff x = casadi__IMatrix__zz_poly_coeff (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_poly_roots" c_casadi__IMatrix__zz_poly_roots
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_poly_roots
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_poly_roots x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_poly_roots errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_poly_roots :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_poly_roots x = casadi__IMatrix__zz_poly_roots (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_polyval" c_casadi__IMatrix__zz_polyval
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_polyval
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_polyval x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_polyval errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_polyval :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_polyval x = casadi__IMatrix__zz_polyval (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_power" c_casadi__IMatrix__zz_power
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_power
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_power x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_power errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_power :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_power x = casadi__IMatrix__zz_power (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_printCompact" c_casadi__IMatrix__zz_printCompact
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__zz_printCompact
+  :: IMatrix -> IO ()
+casadi__IMatrix__zz_printCompact x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_printCompact errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_printCompact :: IMatrixClass a => a -> IO ()
+imatrix_zz_printCompact x = casadi__IMatrix__zz_printCompact (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_project" c_casadi__IMatrix__zz_project
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_project
+  :: IMatrix -> Sparsity -> IO IMatrix
+casadi__IMatrix__zz_project x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_project errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_project :: IMatrixClass a => a -> Sparsity -> IO IMatrix
+imatrix_zz_project x = casadi__IMatrix__zz_project (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_pw_const" c_casadi__IMatrix__zz_pw_const
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_pw_const
+  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_pw_const x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_pw_const errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_pw_const :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_pw_const x = casadi__IMatrix__zz_pw_const (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_pw_lin" c_casadi__IMatrix__zz_pw_lin
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_pw_lin
+  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_pw_lin x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_pw_lin errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_pw_lin :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_pw_lin x = casadi__IMatrix__zz_pw_lin (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_qr" c_casadi__IMatrix__zz_qr
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__IMatrix__zz_qr
+  :: IMatrix -> IMatrix -> IMatrix -> IO ()
+casadi__IMatrix__zz_qr x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_qr errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_qr :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
+imatrix_zz_qr x = casadi__IMatrix__zz_qr (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_quad_form__0" c_casadi__IMatrix__zz_quad_form__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_quad_form__0
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_quad_form__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_quad_form__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_quad_form__0 :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_quad_form__0 x = casadi__IMatrix__zz_quad_form__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_quad_form__1" c_casadi__IMatrix__zz_quad_form__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_quad_form__1
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_quad_form__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_quad_form__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_quad_form__1 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_quad_form__1 x = casadi__IMatrix__zz_quad_form__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_ramp" c_casadi__IMatrix__zz_ramp
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_ramp
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_ramp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_ramp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_ramp :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_ramp x = casadi__IMatrix__zz_ramp (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_rdivide" c_casadi__IMatrix__zz_rdivide
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_rdivide
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_rdivide x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_rdivide errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_rdivide :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_rdivide x = casadi__IMatrix__zz_rdivide (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_rectangle" c_casadi__IMatrix__zz_rectangle
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_rectangle
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_rectangle x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_rectangle errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_rectangle :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_rectangle x = casadi__IMatrix__zz_rectangle (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_repmat__0" c_casadi__IMatrix__zz_repmat__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_repmat__0
+  :: IMatrix -> Sparsity -> IO IMatrix
+casadi__IMatrix__zz_repmat__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_repmat__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_repmat__0 :: IMatrixClass a => a -> Sparsity -> IO IMatrix
+imatrix_zz_repmat__0 x = casadi__IMatrix__zz_repmat__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_repmat__1" c_casadi__IMatrix__zz_repmat__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_repmat__1
+  :: IMatrix -> Int -> IO IMatrix
+casadi__IMatrix__zz_repmat__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_repmat__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_repmat__1 :: IMatrixClass a => a -> Int -> IO IMatrix
+imatrix_zz_repmat__1 x = casadi__IMatrix__zz_repmat__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_repmat__2" c_casadi__IMatrix__zz_repmat__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_repmat__2
+  :: IMatrix -> Int -> Int -> IO IMatrix
+casadi__IMatrix__zz_repmat__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_repmat__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_repmat__2 :: IMatrixClass a => a -> Int -> Int -> IO IMatrix
+imatrix_zz_repmat__2 x = casadi__IMatrix__zz_repmat__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_reshape__0" c_casadi__IMatrix__zz_reshape__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_reshape__0
+  :: IMatrix -> Sparsity -> IO IMatrix
+casadi__IMatrix__zz_reshape__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_reshape__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_reshape__0 :: IMatrixClass a => a -> Sparsity -> IO IMatrix
+imatrix_zz_reshape__0 x = casadi__IMatrix__zz_reshape__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_reshape__1" c_casadi__IMatrix__zz_reshape__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_reshape__1
+  :: IMatrix -> Int -> Int -> IO IMatrix
+casadi__IMatrix__zz_reshape__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_reshape__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_reshape__1 :: IMatrixClass a => a -> Int -> Int -> IO IMatrix
+imatrix_zz_reshape__1 x = casadi__IMatrix__zz_reshape__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sign" c_casadi__IMatrix__zz_sign
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sign
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sign x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sign errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sign :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sign x = casadi__IMatrix__zz_sign (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_simplify" c_casadi__IMatrix__zz_simplify
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_simplify
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_simplify x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_simplify errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_simplify :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_simplify x = casadi__IMatrix__zz_simplify (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sin" c_casadi__IMatrix__zz_sin
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sin
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sin :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sin x = casadi__IMatrix__zz_sin (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sinh" c_casadi__IMatrix__zz_sinh
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sinh
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sinh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sinh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sinh :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sinh x = casadi__IMatrix__zz_sinh (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_solve" c_casadi__IMatrix__zz_solve
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_solve
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_solve x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_solve errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_solve :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_solve x = casadi__IMatrix__zz_solve (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sparsify__0" c_casadi__IMatrix__zz_sparsify__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sparsify__0
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sparsify__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sparsify__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sparsify__0 :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sparsify__0 x = casadi__IMatrix__zz_sparsify__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sparsify__1" c_casadi__IMatrix__zz_sparsify__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CDouble -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sparsify__1
+  :: IMatrix -> Double -> IO IMatrix
+casadi__IMatrix__zz_sparsify__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sparsify__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sparsify__1 :: IMatrixClass a => a -> Double -> IO IMatrix
+imatrix_zz_sparsify__1 x = casadi__IMatrix__zz_sparsify__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sprank__0" c_casadi__IMatrix__zz_sprank__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__zz_sprank__0
+  :: IMatrix -> IO Int
+casadi__IMatrix__zz_sprank__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sprank__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sprank__0 :: IMatrixClass a => a -> IO Int
+imatrix_zz_sprank__0 x = casadi__IMatrix__zz_sprank__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sprank__1" c_casadi__IMatrix__zz_sprank__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
+casadi__IMatrix__zz_sprank__1
+  :: IMatrix -> IO Int
+casadi__IMatrix__zz_sprank__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sprank__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sprank__1 :: IMatrixClass a => a -> IO Int
+imatrix_zz_sprank__1 x = casadi__IMatrix__zz_sprank__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_spy" c_casadi__IMatrix__zz_spy
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_spy
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_spy x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_spy errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_spy :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_spy x = casadi__IMatrix__zz_spy (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sqrt" c_casadi__IMatrix__zz_sqrt
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sqrt
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sqrt x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sqrt errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sqrt :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sqrt x = casadi__IMatrix__zz_sqrt (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_substitute__0" c_casadi__IMatrix__zz_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr (StdVec (Ptr IMatrix')))
+casadi__IMatrix__zz_substitute__0
+  :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> IO (Vector IMatrix)
+casadi__IMatrix__zz_substitute__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_substitute__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_substitute__0 :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> IO (Vector IMatrix)
+imatrix_zz_substitute__0 = casadi__IMatrix__zz_substitute__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_substitute__1" c_casadi__IMatrix__zz_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_substitute__1
+  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_substitute__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_substitute__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_substitute__1 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_substitute__1 x = casadi__IMatrix__zz_substitute__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_substituteInPlace__0" c_casadi__IMatrix__zz_substituteInPlace__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> IO ()
+casadi__IMatrix__zz_substituteInPlace__0
+  :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> IO ()
+casadi__IMatrix__zz_substituteInPlace__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_substituteInPlace__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_substituteInPlace__0 :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> IO ()
+imatrix_zz_substituteInPlace__0 = casadi__IMatrix__zz_substituteInPlace__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_substituteInPlace__1" c_casadi__IMatrix__zz_substituteInPlace__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> Ptr (StdVec (Ptr IMatrix')) -> CInt -> IO ()
+casadi__IMatrix__zz_substituteInPlace__1
+  :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> Bool -> IO ()
+casadi__IMatrix__zz_substituteInPlace__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_substituteInPlace__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_substituteInPlace__1 :: Vector IMatrix -> Vector IMatrix -> Vector IMatrix -> Bool -> IO ()
+imatrix_zz_substituteInPlace__1 = casadi__IMatrix__zz_substituteInPlace__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sumAll" c_casadi__IMatrix__zz_sumAll
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sumAll
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sumAll x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sumAll errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sumAll :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sumAll x = casadi__IMatrix__zz_sumAll (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sumCols" c_casadi__IMatrix__zz_sumCols
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sumCols
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sumCols x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sumCols errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sumCols :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sumCols x = casadi__IMatrix__zz_sumCols (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sumRows" c_casadi__IMatrix__zz_sumRows
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sumRows
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sumRows x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sumRows errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sumRows :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sumRows x = casadi__IMatrix__zz_sumRows (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_sum_square" c_casadi__IMatrix__zz_sum_square
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_sum_square
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_sum_square x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_sum_square errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_sum_square :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_sum_square x = casadi__IMatrix__zz_sum_square (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_tan" c_casadi__IMatrix__zz_tan
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_tan
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_tan x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_tan errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_tan :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_tan x = casadi__IMatrix__zz_tan (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_tangent" c_casadi__IMatrix__zz_tangent
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_tangent
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_tangent x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_tangent errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_tangent :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_tangent x = casadi__IMatrix__zz_tangent (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_tanh" c_casadi__IMatrix__zz_tanh
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_tanh
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_tanh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_tanh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_tanh :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_tanh x = casadi__IMatrix__zz_tanh (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_taylor__0" c_casadi__IMatrix__zz_taylor__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_taylor__0
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_taylor__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_taylor__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_taylor__0 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_taylor__0 x = casadi__IMatrix__zz_taylor__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_taylor__1" c_casadi__IMatrix__zz_taylor__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_taylor__1
+  :: IMatrix -> IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_taylor__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_taylor__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_taylor__1 :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO IMatrix
+imatrix_zz_taylor__1 x = casadi__IMatrix__zz_taylor__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_taylor__2" c_casadi__IMatrix__zz_taylor__2
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_taylor__2
+  :: IMatrix -> IMatrix -> IMatrix -> Int -> IO IMatrix
+casadi__IMatrix__zz_taylor__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_taylor__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_taylor__2 :: IMatrixClass a => a -> IMatrix -> IMatrix -> Int -> IO IMatrix
+imatrix_zz_taylor__2 x = casadi__IMatrix__zz_taylor__2 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_times" c_casadi__IMatrix__zz_times
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_times
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_times x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_times errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_times :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_times x = casadi__IMatrix__zz_times (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_trace" c_casadi__IMatrix__zz_trace
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_trace
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_trace x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_trace errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_trace :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_trace x = casadi__IMatrix__zz_trace (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_triangle" c_casadi__IMatrix__zz_triangle
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_triangle
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_triangle x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_triangle errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_triangle :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_triangle x = casadi__IMatrix__zz_triangle (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_tril__0" c_casadi__IMatrix__zz_tril__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_tril__0
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_tril__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_tril__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_tril__0 :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_tril__0 x = casadi__IMatrix__zz_tril__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_tril__1" c_casadi__IMatrix__zz_tril__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_tril__1
+  :: IMatrix -> Bool -> IO IMatrix
+casadi__IMatrix__zz_tril__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_tril__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_tril__1 :: IMatrixClass a => a -> Bool -> IO IMatrix
+imatrix_zz_tril__1 x = casadi__IMatrix__zz_tril__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_tril2symm" c_casadi__IMatrix__zz_tril2symm
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_tril2symm
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_tril2symm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_tril2symm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_tril2symm :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_tril2symm x = casadi__IMatrix__zz_tril2symm (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_triu__0" c_casadi__IMatrix__zz_triu__0
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_triu__0
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_triu__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_triu__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_triu__0 :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_triu__0 x = casadi__IMatrix__zz_triu__0 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_triu__1" c_casadi__IMatrix__zz_triu__1
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_triu__1
+  :: IMatrix -> Bool -> IO IMatrix
+casadi__IMatrix__zz_triu__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_triu__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_triu__1 :: IMatrixClass a => a -> Bool -> IO IMatrix
+imatrix_zz_triu__1 x = casadi__IMatrix__zz_triu__1 (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_triu2symm" c_casadi__IMatrix__zz_triu2symm
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_triu2symm
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_triu2symm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_triu2symm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_triu2symm :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_triu2symm x = casadi__IMatrix__zz_triu2symm (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_unite" c_casadi__IMatrix__zz_unite
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_unite
+  :: IMatrix -> IMatrix -> IO IMatrix
+casadi__IMatrix__zz_unite x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_unite errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_unite :: IMatrixClass a => a -> IMatrix -> IO IMatrix
+imatrix_zz_unite x = casadi__IMatrix__zz_unite (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_vec" c_casadi__IMatrix__zz_vec
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_vec
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_vec x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_vec errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_vec :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_vec x = casadi__IMatrix__zz_vec (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_vecNZ" c_casadi__IMatrix__zz_vecNZ
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_vecNZ
+  :: IMatrix -> IO IMatrix
+casadi__IMatrix__zz_vecNZ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_vecNZ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_vecNZ :: IMatrixClass a => a -> IO IMatrix
+imatrix_zz_vecNZ x = casadi__IMatrix__zz_vecNZ (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_vecNZcat" c_casadi__IMatrix__zz_vecNZcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_vecNZcat
+  :: Vector IMatrix -> IO IMatrix
+casadi__IMatrix__zz_vecNZcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_vecNZcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_vecNZcat :: Vector IMatrix -> IO IMatrix
+imatrix_zz_vecNZcat = casadi__IMatrix__zz_vecNZcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_veccat" c_casadi__IMatrix__zz_veccat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_veccat
+  :: Vector IMatrix -> IO IMatrix
+casadi__IMatrix__zz_veccat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_veccat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_veccat :: Vector IMatrix -> IO IMatrix
+imatrix_zz_veccat = casadi__IMatrix__zz_veccat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_vertcat" c_casadi__IMatrix__zz_vertcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
+casadi__IMatrix__zz_vertcat
+  :: Vector IMatrix -> IO IMatrix
+casadi__IMatrix__zz_vertcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_vertcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_vertcat :: Vector IMatrix -> IO IMatrix
+imatrix_zz_vertcat = casadi__IMatrix__zz_vertcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__zz_vertsplit" c_casadi__IMatrix__zz_vertsplit
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IMatrix')))
+casadi__IMatrix__zz_vertsplit
+  :: IMatrix -> Vector Int -> IO (Vector IMatrix)
+casadi__IMatrix__zz_vertsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__zz_vertsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_zz_vertsplit :: IMatrixClass a => a -> Vector Int -> IO (Vector IMatrix)
+imatrix_zz_vertsplit x = casadi__IMatrix__zz_vertsplit (castIMatrix x)
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/IOInterfaceFunction.hs b/Casadi/Core/Classes/IOInterfaceFunction.hs
--- a/Casadi/Core/Classes/IOInterfaceFunction.hs
+++ b/Casadi/Core/Classes/IOInterfaceFunction.hs
@@ -76,7 +76,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__IOInterface_casadi__Function___getInput__0" c_casadi__IOInterface_casadi__Function___getInput__0
   :: Ptr (Ptr StdString) -> Ptr IOInterfaceFunction' -> Ptr StdString -> IO (Ptr DMatrix')
diff --git a/Casadi/Core/Classes/IOScheme.hs b/Casadi/Core/Classes/IOScheme.hs
--- a/Casadi/Core/Classes/IOScheme.hs
+++ b/Casadi/Core/Classes/IOScheme.hs
@@ -65,7 +65,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__IOScheme__CONSTRUCTOR__0" c_casadi__IOScheme__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr IOScheme')
diff --git a/Casadi/Core/Classes/ImplicitFunction.hs b/Casadi/Core/Classes/ImplicitFunction.hs
--- a/Casadi/Core/Classes/ImplicitFunction.hs
+++ b/Casadi/Core/Classes/ImplicitFunction.hs
@@ -39,7 +39,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__ImplicitFunction__CONSTRUCTOR__0" c_casadi__ImplicitFunction__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Function' -> IO (Ptr ImplicitFunction')
diff --git a/Casadi/Core/Classes/Integrator.hs b/Casadi/Core/Classes/Integrator.hs
--- a/Casadi/Core/Classes/Integrator.hs
+++ b/Casadi/Core/Classes/Integrator.hs
@@ -43,7 +43,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__Integrator__CONSTRUCTOR__0" c_casadi__Integrator__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Function' -> IO (Ptr Integrator')
diff --git a/Casadi/Core/Classes/LinearSolver.hs b/Casadi/Core/Classes/LinearSolver.hs
--- a/Casadi/Core/Classes/LinearSolver.hs
+++ b/Casadi/Core/Classes/LinearSolver.hs
@@ -46,7 +46,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__LinearSolver__CONSTRUCTOR__0" c_casadi__LinearSolver__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr LinearSolver')
diff --git a/Casadi/Core/Classes/LpSolver.hs b/Casadi/Core/Classes/LpSolver.hs
--- a/Casadi/Core/Classes/LpSolver.hs
+++ b/Casadi/Core/Classes/LpSolver.hs
@@ -33,7 +33,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__LpSolver__CONSTRUCTOR" c_casadi__LpSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr LpSolver')
diff --git a/Casadi/Core/Classes/LrDleSolver.hs b/Casadi/Core/Classes/LrDleSolver.hs
--- a/Casadi/Core/Classes/LrDleSolver.hs
+++ b/Casadi/Core/Classes/LrDleSolver.hs
@@ -35,7 +35,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__LrDleSolver__CONSTRUCTOR" c_casadi__LrDleSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr LrDleSolver')
diff --git a/Casadi/Core/Classes/LrDpleSolver.hs b/Casadi/Core/Classes/LrDpleSolver.hs
--- a/Casadi/Core/Classes/LrDpleSolver.hs
+++ b/Casadi/Core/Classes/LrDpleSolver.hs
@@ -35,7 +35,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__LrDpleSolver__CONSTRUCTOR" c_casadi__LrDpleSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr LrDpleSolver')
diff --git a/Casadi/Core/Classes/MX.hs b/Casadi/Core/Classes/MX.hs
--- a/Casadi/Core/Classes/MX.hs
+++ b/Casadi/Core/Classes/MX.hs
@@ -9,5578 +9,6081 @@
        (
          MX,
          MXClass(..),
-         mx__0,
-         mx__1,
-         mx__2,
-         mx__3,
-         mx__4,
-         mx__5,
-         mx__6,
-         mx__7,
-         mx__8,
-         mx___add__,
-         mx___constpow__,
-         mx___copysign__,
-         mx___div__,
-         mx___eq__,
-         mx___ge__,
-         mx___gt__,
-         mx___hash__,
-         mx___le__,
-         mx___lt__,
-         mx___mldivide__,
-         mx___mpower__,
-         mx___mrdivide__,
-         mx___mul__,
-         mx___ne__,
-         mx___nonzero__,
-         mx___pow__,
-         mx___radd__,
-         mx___rdiv__,
-         mx___req__,
-         mx___rge__,
-         mx___rgt__,
-         mx___rle__,
-         mx___rlt__,
-         mx___rmul__,
-         mx___rne__,
-         mx___rsub__,
-         mx___rtruediv__,
-         mx___sub__,
-         mx___truediv____0,
-         mx___truediv____1,
-         mx_addToSum,
-         mx_append,
-         mx_appendColumns,
-         mx_arccos,
-         mx_arccosh,
-         mx_arcsin,
-         mx_arcsinh,
-         mx_arctan,
-         mx_arctan2,
-         mx_arctanh,
-         mx_attachAssert__0,
-         mx_attachAssert__1,
-         mx_binary,
-         mx_ceil,
-         mx_constpow,
-         mx_cos,
-         mx_cosh,
-         mx_densify__0,
-         mx_densify__1,
-         mx_dimString,
-         mx_enlarge,
-         mx_erase,
-         mx_erf,
-         mx_erfinv,
-         mx_exp,
-         mx_eye,
-         mx_fabs,
-         mx_floor,
-         mx_fmax,
-         mx_fmin,
-         mx_fmod,
-         mx_getDep__0,
-         mx_getDep__1,
-         mx_getEqualityCheckingDepth,
-         mx_getEvaluationOutput,
-         mx_getFunction,
-         mx_getMatrixValue,
-         mx_getMaxNumCallsInPrint,
-         mx_getNZ__0,
-         mx_getNZ__1,
-         mx_getNZ__2,
-         mx_getNZ__3,
-         mx_getName,
-         mx_getNdeps,
-         mx_getNumOutputs,
-         mx_getOp,
-         mx_getOutput__0,
-         mx_getOutput__1,
-         mx_getTemp,
-         mx_getValue,
-         mx_if_else_zero,
-         mx_indexed__0,
-         mx_indexed__1,
-         mx_indexed__2,
-         mx_indexed__3,
-         mx_indexed__4,
-         mx_indexed__5,
-         mx_indexed__6,
-         mx_indexed_assignment__0,
-         mx_indexed_assignment__1,
-         mx_indexed_assignment__2,
-         mx_indexed_assignment__3,
-         mx_indexed_assignment__4,
-         mx_indexed_assignment__5,
-         mx_indexed_one_based__0,
-         mx_indexed_one_based__1,
-         mx_indexed_one_based_assignment__0,
-         mx_indexed_one_based_assignment__1,
-         mx_indexed_zero_based__0,
-         mx_indexed_zero_based__1,
-         mx_indexed_zero_based_assignment__0,
-         mx_indexed_zero_based_assignment__1,
-         mx_indexed_zero_based_assignment__2,
-         mx_inf__0,
-         mx_inf__1,
-         mx_inf__2,
-         mx_inf__3,
-         mx_inner_prod,
-         mx_isBinary,
-         mx_isCommutative,
-         mx_isConstant,
-         mx_isDense,
-         mx_isEmpty__0,
-         mx_isEmpty__1,
-         mx_isEqual__0,
-         mx_isEqual__1,
-         mx_isEvaluation,
-         mx_isEvaluationOutput,
-         mx_isIdentity,
-         mx_isMinusOne,
-         mx_isMultiplication,
-         mx_isNorm,
-         mx_isOne,
-         mx_isOperation,
-         mx_isRegular,
-         mx_isScalar__0,
-         mx_isScalar__1,
-         mx_isSquare,
-         mx_isSymbolic,
-         mx_isSymbolicSparse,
-         mx_isTranspose,
-         mx_isTril,
-         mx_isTriu,
-         mx_isUnary,
-         mx_isVector,
-         mx_isZero,
-         mx_lift,
-         mx_log,
-         mx_log10,
-         mx_logic_and,
-         mx_logic_not,
-         mx_logic_or,
-         mx_mapping,
-         mx_mul__0,
-         mx_mul__1,
-         mx_mul_full__0,
-         mx_mul_full__1,
-         mx_mul_smart,
-         mx_nan__0,
-         mx_nan__1,
-         mx_nan__2,
-         mx_nan__3,
-         mx_numel,
-         mx_nz_indexed__0,
-         mx_nz_indexed__1,
-         mx_nz_indexed_assignment__0,
-         mx_nz_indexed_assignment__1,
-         mx_nz_indexed_one_based,
-         mx_nz_indexed_one_based_assignment,
-         mx_nz_indexed_zero_based,
-         mx_nz_indexed_zero_based_assignment,
-         mx_ones__0,
-         mx_ones__1,
-         mx_ones__2,
-         mx_ones__3,
-         mx_outer_prod,
-         mx_printme,
-         mx_repmat__0,
-         mx_repmat__1,
-         mx_repmat__2,
-         mx_setEqualityCheckingDepth__0,
-         mx_setEqualityCheckingDepth__1,
-         mx_setMaxNumCallsInPrint__0,
-         mx_setMaxNumCallsInPrint__1,
-         mx_setNZ__0,
-         mx_setNZ__1,
-         mx_setNZ__2,
-         mx_setNZ__3,
-         mx_setSparse__0,
-         mx_setSparse__1,
-         mx_setSub__0,
-         mx_setSub__1,
-         mx_setSub__10,
-         mx_setSub__11,
-         mx_setSub__2,
-         mx_setSub__3,
-         mx_setSub__4,
-         mx_setSub__5,
-         mx_setSub__6,
-         mx_setSub__7,
-         mx_setSub__8,
-         mx_setSub__9,
-         mx_setTemp,
-         mx_sign,
-         mx_sin,
-         mx_sinh,
-         mx_size1,
-         mx_size2,
-         mx_sizeD,
-         mx_sizeL,
-         mx_sizeU,
-         mx_size__0,
-         mx_size__1,
-         mx_sparse__0,
-         mx_sparse__1,
-         mx_sparse__2,
-         mx_sparsityRef__0,
-         mx_sparsityRef__1,
-         mx_sparsity__0,
-         mx_sparsity__1,
-         mx_sqrt,
-         mx_sub__0,
-         mx_sub__1,
-         mx_sub__10,
-         mx_sub__11,
-         mx_sub__12,
-         mx_sub__13,
-         mx_sub__14,
-         mx_sub__15,
-         mx_sub__2,
-         mx_sub__3,
-         mx_sub__4,
-         mx_sub__5,
-         mx_sub__6,
-         mx_sub__7,
-         mx_sub__8,
-         mx_sub__9,
-         mx_sym__0,
-         mx_sym__1,
-         mx_sym__2,
-         mx_sym__3,
-         mx_sym__4,
-         mx_sym__5,
-         mx_sym__6,
-         mx_sym__7,
-         mx_tan,
-         mx_tanh,
-         mx_trans,
-         mx_unary,
-         mx_zeros__0,
-         mx_zeros__1,
-         mx_zeros__2,
-         mx_zeros__3,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.CToolsInstances ( )
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__0" c_casadi__MX__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__0
-  :: DMatrix -> IO MX
-casadi__MX__CONSTRUCTOR__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__0 :: DMatrix -> IO MX
-mx__0 = casadi__MX__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__1" c_casadi__MX__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__1
-  :: Vector Double -> IO MX
-casadi__MX__CONSTRUCTOR__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__1 :: Vector Double -> IO MX
-mx__1 = casadi__MX__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__2" c_casadi__MX__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__2
-  :: MX -> IO MX
-casadi__MX__CONSTRUCTOR__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__2 :: MX -> IO MX
-mx__2 = casadi__MX__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__3" c_casadi__MX__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__3
-  :: Double -> IO MX
-casadi__MX__CONSTRUCTOR__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__3 :: Double -> IO MX
-mx__3 = casadi__MX__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__4" c_casadi__MX__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__4
-  :: Sparsity -> MX -> IO MX
-casadi__MX__CONSTRUCTOR__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__4 :: Sparsity -> MX -> IO MX
-mx__4 = casadi__MX__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__5" c_casadi__MX__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CDouble -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__5
-  :: Sparsity -> Double -> IO MX
-casadi__MX__CONSTRUCTOR__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__5 :: Sparsity -> Double -> IO MX
-mx__5 = casadi__MX__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__6" c_casadi__MX__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__6
-  :: Sparsity -> IO MX
-casadi__MX__CONSTRUCTOR__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__6 :: Sparsity -> IO MX
-mx__6 = casadi__MX__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__7" c_casadi__MX__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__7
-  :: Sparsity -> Int -> IO MX
-casadi__MX__CONSTRUCTOR__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__7 :: Sparsity -> Int -> IO MX
-mx__7 = casadi__MX__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__8" c_casadi__MX__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-casadi__MX__CONSTRUCTOR__8
-  :: IO MX
-casadi__MX__CONSTRUCTOR__8  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__CONSTRUCTOR__8 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx__8 :: IO MX
-mx__8 = casadi__MX__CONSTRUCTOR__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____add__" c_casadi__MX____add__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____add__
-  :: MX -> MX -> IO MX
-casadi__MX____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____add__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___add__ :: MXClass a => a -> MX -> IO MX
-mx___add__ x = casadi__MX____add__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____constpow__" c_casadi__MX____constpow__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____constpow__
-  :: MX -> MX -> IO MX
-casadi__MX____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____constpow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___constpow__ :: MXClass a => a -> MX -> IO MX
-mx___constpow__ x = casadi__MX____constpow__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____copysign__" c_casadi__MX____copysign__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____copysign__
-  :: MX -> MX -> IO MX
-casadi__MX____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____copysign__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___copysign__ :: MXClass a => a -> MX -> IO MX
-mx___copysign__ x = casadi__MX____copysign__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____div__" c_casadi__MX____div__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____div__
-  :: MX -> MX -> IO MX
-casadi__MX____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____div__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___div__ :: MXClass a => a -> MX -> IO MX
-mx___div__ x = casadi__MX____div__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____eq__" c_casadi__MX____eq__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____eq__
-  :: MX -> MX -> IO MX
-casadi__MX____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____eq__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___eq__ :: MXClass a => a -> MX -> IO MX
-mx___eq__ x = casadi__MX____eq__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____ge__" c_casadi__MX____ge__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____ge__
-  :: MX -> MX -> IO MX
-casadi__MX____ge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____ge__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___ge__ :: MXClass a => a -> MX -> IO MX
-mx___ge__ x = casadi__MX____ge__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____gt__" c_casadi__MX____gt__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____gt__
-  :: MX -> MX -> IO MX
-casadi__MX____gt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____gt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___gt__ :: MXClass a => a -> MX -> IO MX
-mx___gt__ x = casadi__MX____gt__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____hash__" c_casadi__MX____hash__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLong
-casadi__MX____hash__
-  :: MX -> IO Int
-casadi__MX____hash__ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____hash__ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___hash__ :: MXClass a => a -> IO Int
-mx___hash__ x = casadi__MX____hash__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____le__" c_casadi__MX____le__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____le__
-  :: MX -> MX -> IO MX
-casadi__MX____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____le__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___le__ :: MXClass a => a -> MX -> IO MX
-mx___le__ x = casadi__MX____le__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____lt__" c_casadi__MX____lt__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____lt__
-  :: MX -> MX -> IO MX
-casadi__MX____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____lt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___lt__ :: MXClass a => a -> MX -> IO MX
-mx___lt__ x = casadi__MX____lt__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____mldivide__" c_casadi__MX____mldivide__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____mldivide__
-  :: MX -> MX -> IO MX
-casadi__MX____mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____mldivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___mldivide__ :: MXClass a => a -> MX -> IO MX
-mx___mldivide__ x = casadi__MX____mldivide__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____mpower__" c_casadi__MX____mpower__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____mpower__
-  :: MX -> MX -> IO MX
-casadi__MX____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____mpower__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___mpower__ :: MXClass a => a -> MX -> IO MX
-mx___mpower__ x = casadi__MX____mpower__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____mrdivide__" c_casadi__MX____mrdivide__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____mrdivide__
-  :: MX -> MX -> IO MX
-casadi__MX____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____mrdivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___mrdivide__ :: MXClass a => a -> MX -> IO MX
-mx___mrdivide__ x = casadi__MX____mrdivide__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____mul__" c_casadi__MX____mul__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____mul__
-  :: MX -> MX -> IO MX
-casadi__MX____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____mul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___mul__ :: MXClass a => a -> MX -> IO MX
-mx___mul__ x = casadi__MX____mul__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____ne__" c_casadi__MX____ne__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____ne__
-  :: MX -> MX -> IO MX
-casadi__MX____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____ne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___ne__ :: MXClass a => a -> MX -> IO MX
-mx___ne__ x = casadi__MX____ne__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____nonzero__" c_casadi__MX____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX____nonzero__
-  :: MX -> IO Bool
-casadi__MX____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____nonzero__ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___nonzero__ :: MXClass a => a -> IO Bool
-mx___nonzero__ x = casadi__MX____nonzero__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____pow__" c_casadi__MX____pow__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____pow__
-  :: MX -> MX -> IO MX
-casadi__MX____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____pow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___pow__ :: MXClass a => a -> MX -> IO MX
-mx___pow__ x = casadi__MX____pow__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____radd__" c_casadi__MX____radd__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____radd__
-  :: MX -> MX -> IO MX
-casadi__MX____radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____radd__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___radd__ :: MXClass a => a -> MX -> IO MX
-mx___radd__ x = casadi__MX____radd__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rdiv__" c_casadi__MX____rdiv__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rdiv__
-  :: MX -> MX -> IO MX
-casadi__MX____rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rdiv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rdiv__ :: MXClass a => a -> MX -> IO MX
-mx___rdiv__ x = casadi__MX____rdiv__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____req__" c_casadi__MX____req__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____req__
-  :: MX -> MX -> IO MX
-casadi__MX____req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____req__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___req__ :: MXClass a => a -> MX -> IO MX
-mx___req__ x = casadi__MX____req__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rge__" c_casadi__MX____rge__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rge__
-  :: MX -> MX -> IO MX
-casadi__MX____rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rge__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rge__ :: MXClass a => a -> MX -> IO MX
-mx___rge__ x = casadi__MX____rge__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rgt__" c_casadi__MX____rgt__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rgt__
-  :: MX -> MX -> IO MX
-casadi__MX____rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rgt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rgt__ :: MXClass a => a -> MX -> IO MX
-mx___rgt__ x = casadi__MX____rgt__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rle__" c_casadi__MX____rle__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rle__
-  :: MX -> MX -> IO MX
-casadi__MX____rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rle__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rle__ :: MXClass a => a -> MX -> IO MX
-mx___rle__ x = casadi__MX____rle__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rlt__" c_casadi__MX____rlt__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rlt__
-  :: MX -> MX -> IO MX
-casadi__MX____rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rlt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rlt__ :: MXClass a => a -> MX -> IO MX
-mx___rlt__ x = casadi__MX____rlt__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rmul__" c_casadi__MX____rmul__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rmul__
-  :: MX -> MX -> IO MX
-casadi__MX____rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rmul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rmul__ :: MXClass a => a -> MX -> IO MX
-mx___rmul__ x = casadi__MX____rmul__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rne__" c_casadi__MX____rne__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rne__
-  :: MX -> MX -> IO MX
-casadi__MX____rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rne__ :: MXClass a => a -> MX -> IO MX
-mx___rne__ x = casadi__MX____rne__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rsub__" c_casadi__MX____rsub__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rsub__
-  :: MX -> MX -> IO MX
-casadi__MX____rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rsub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rsub__ :: MXClass a => a -> MX -> IO MX
-mx___rsub__ x = casadi__MX____rsub__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____rtruediv__" c_casadi__MX____rtruediv__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____rtruediv__
-  :: MX -> MX -> IO MX
-casadi__MX____rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____rtruediv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___rtruediv__ :: MXClass a => a -> MX -> IO MX
-mx___rtruediv__ x = casadi__MX____rtruediv__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____sub__" c_casadi__MX____sub__
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____sub__
-  :: MX -> MX -> IO MX
-casadi__MX____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____sub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___sub__ :: MXClass a => a -> MX -> IO MX
-mx___sub__ x = casadi__MX____sub__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____truediv____0" c_casadi__MX____truediv____0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____truediv____0
-  :: MX -> MX -> IO MX
-casadi__MX____truediv____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____truediv____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___truediv____0 :: MXClass a => a -> MX -> IO MX
-mx___truediv____0 x = casadi__MX____truediv____0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX____truediv____1" c_casadi__MX____truediv____1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX____truediv____1
-  :: MX -> MX -> IO MX
-casadi__MX____truediv____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX____truediv____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx___truediv____1 :: MXClass a => a -> MX -> IO MX
-mx___truediv____1 x = casadi__MX____truediv____1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__addToSum" c_casadi__MX__addToSum
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
-casadi__MX__addToSum
-  :: MX -> MX -> IO ()
-casadi__MX__addToSum x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__addToSum errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_addToSum :: MXClass a => a -> MX -> IO ()
-mx_addToSum x = casadi__MX__addToSum (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__append" c_casadi__MX__append
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
-casadi__MX__append
-  :: MX -> MX -> IO ()
-casadi__MX__append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__append errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_append :: MXClass a => a -> MX -> IO ()
-mx_append x = casadi__MX__append (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__appendColumns" c_casadi__MX__appendColumns
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
-casadi__MX__appendColumns
-  :: MX -> MX -> IO ()
-casadi__MX__appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__appendColumns errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_appendColumns :: MXClass a => a -> MX -> IO ()
-mx_appendColumns x = casadi__MX__appendColumns (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__arccos" c_casadi__MX__arccos
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__arccos
-  :: MX -> IO MX
-casadi__MX__arccos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__arccos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_arccos :: MXClass a => a -> IO MX
-mx_arccos x = casadi__MX__arccos (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__arccosh" c_casadi__MX__arccosh
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__arccosh
-  :: MX -> IO MX
-casadi__MX__arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__arccosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_arccosh :: MXClass a => a -> IO MX
-mx_arccosh x = casadi__MX__arccosh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__arcsin" c_casadi__MX__arcsin
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__arcsin
-  :: MX -> IO MX
-casadi__MX__arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__arcsin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_arcsin :: MXClass a => a -> IO MX
-mx_arcsin x = casadi__MX__arcsin (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__arcsinh" c_casadi__MX__arcsinh
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__arcsinh
-  :: MX -> IO MX
-casadi__MX__arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__arcsinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_arcsinh :: MXClass a => a -> IO MX
-mx_arcsinh x = casadi__MX__arcsinh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__arctan" c_casadi__MX__arctan
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__arctan
-  :: MX -> IO MX
-casadi__MX__arctan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__arctan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_arctan :: MXClass a => a -> IO MX
-mx_arctan x = casadi__MX__arctan (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__arctan2" c_casadi__MX__arctan2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__arctan2
-  :: MX -> MX -> IO MX
-casadi__MX__arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__arctan2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_arctan2 :: MXClass a => a -> MX -> IO MX
-mx_arctan2 x = casadi__MX__arctan2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__arctanh" c_casadi__MX__arctanh
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__arctanh
-  :: MX -> IO MX
-casadi__MX__arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__arctanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_arctanh :: MXClass a => a -> IO MX
-mx_arctanh x = casadi__MX__arctanh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__attachAssert__0" c_casadi__MX__attachAssert__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__attachAssert__0
-  :: MX -> MX -> IO MX
-casadi__MX__attachAssert__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__attachAssert__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_attachAssert__0 :: MXClass a => a -> MX -> IO MX
-mx_attachAssert__0 x = casadi__MX__attachAssert__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__attachAssert__1" c_casadi__MX__attachAssert__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
-casadi__MX__attachAssert__1
-  :: MX -> MX -> String -> IO MX
-casadi__MX__attachAssert__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__attachAssert__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_attachAssert__1 :: MXClass a => a -> MX -> String -> IO MX
-mx_attachAssert__1 x = casadi__MX__attachAssert__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__binary" c_casadi__MX__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__binary
-  :: Int -> MX -> MX -> IO MX
-casadi__MX__binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__binary errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_binary :: Int -> MX -> MX -> IO MX
-mx_binary = casadi__MX__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ceil" c_casadi__MX__ceil
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__ceil
-  :: MX -> IO MX
-casadi__MX__ceil x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__ceil errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_ceil :: MXClass a => a -> IO MX
-mx_ceil x = casadi__MX__ceil (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__constpow" c_casadi__MX__constpow
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__constpow
-  :: MX -> MX -> IO MX
-casadi__MX__constpow x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__constpow errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_constpow :: MXClass a => a -> MX -> IO MX
-mx_constpow x = casadi__MX__constpow (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__cos" c_casadi__MX__cos
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__cos
-  :: MX -> IO MX
-casadi__MX__cos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__cos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_cos :: MXClass a => a -> IO MX
-mx_cos x = casadi__MX__cos (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__cosh" c_casadi__MX__cosh
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__cosh
-  :: MX -> IO MX
-casadi__MX__cosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__cosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_cosh :: MXClass a => a -> IO MX
-mx_cosh x = casadi__MX__cosh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__densify__0" c_casadi__MX__densify__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
-casadi__MX__densify__0
-  :: MX -> IO ()
-casadi__MX__densify__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__densify__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_densify__0 :: MXClass a => a -> IO ()
-mx_densify__0 x = casadi__MX__densify__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__densify__1" c_casadi__MX__densify__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
-casadi__MX__densify__1
-  :: MX -> MX -> IO ()
-casadi__MX__densify__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__densify__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_densify__1 :: MXClass a => a -> MX -> IO ()
-mx_densify__1 x = casadi__MX__densify__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__dimString" c_casadi__MX__dimString
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr StdString)
-casadi__MX__dimString
-  :: MX -> IO String
-casadi__MX__dimString x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__dimString errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_dimString :: MXClass a => a -> IO String
-mx_dimString x = casadi__MX__dimString (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__enlarge" c_casadi__MX__enlarge
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__MX__enlarge
-  :: MX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__MX__enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__enlarge errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_enlarge :: MXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-mx_enlarge x = casadi__MX__enlarge (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__erase" c_casadi__MX__erase
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__MX__erase
-  :: MX -> Vector Int -> Vector Int -> IO ()
-casadi__MX__erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__erase errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_erase :: MXClass a => a -> Vector Int -> Vector Int -> IO ()
-mx_erase x = casadi__MX__erase (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__erf" c_casadi__MX__erf
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__erf
-  :: MX -> IO MX
-casadi__MX__erf x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__erf errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_erf :: MXClass a => a -> IO MX
-mx_erf x = casadi__MX__erf (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__erfinv" c_casadi__MX__erfinv
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__erfinv
-  :: MX -> IO MX
-casadi__MX__erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__erfinv errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_erfinv :: MXClass a => a -> IO MX
-mx_erfinv x = casadi__MX__erfinv (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__exp" c_casadi__MX__exp
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__exp
-  :: MX -> IO MX
-casadi__MX__exp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__exp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_exp :: MXClass a => a -> IO MX
-mx_exp x = casadi__MX__exp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__eye" c_casadi__MX__eye
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-casadi__MX__eye
-  :: Int -> IO MX
-casadi__MX__eye x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__eye errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_eye :: Int -> IO MX
-mx_eye = casadi__MX__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__fabs" c_casadi__MX__fabs
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__fabs
-  :: MX -> IO MX
-casadi__MX__fabs x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__fabs errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_fabs :: MXClass a => a -> IO MX
-mx_fabs x = casadi__MX__fabs (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__floor" c_casadi__MX__floor
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__floor
-  :: MX -> IO MX
-casadi__MX__floor x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__floor errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_floor :: MXClass a => a -> IO MX
-mx_floor x = casadi__MX__floor (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__fmax" c_casadi__MX__fmax
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__fmax
-  :: MX -> MX -> IO MX
-casadi__MX__fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__fmax errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_fmax :: MXClass a => a -> MX -> IO MX
-mx_fmax x = casadi__MX__fmax (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__fmin" c_casadi__MX__fmin
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__fmin
-  :: MX -> MX -> IO MX
-casadi__MX__fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__fmin errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_fmin :: MXClass a => a -> MX -> IO MX
-mx_fmin x = casadi__MX__fmin (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__fmod" c_casadi__MX__fmod
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__fmod
-  :: MX -> MX -> IO MX
-casadi__MX__fmod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__fmod errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_fmod :: MXClass a => a -> MX -> IO MX
-mx_fmod x = casadi__MX__fmod (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getDep__0" c_casadi__MX__getDep__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__getDep__0
-  :: MX -> IO MX
-casadi__MX__getDep__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getDep__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getDep__0 :: MXClass a => a -> IO MX
-mx_getDep__0 x = casadi__MX__getDep__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getDep__1" c_casadi__MX__getDep__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-casadi__MX__getDep__1
-  :: MX -> Int -> IO MX
-casadi__MX__getDep__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getDep__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getDep__1 :: MXClass a => a -> Int -> IO MX
-mx_getDep__1 x = casadi__MX__getDep__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getEqualityCheckingDepth" c_casadi__MX__getEqualityCheckingDepth
-  :: Ptr (Ptr StdString) -> IO CInt
-casadi__MX__getEqualityCheckingDepth
-  :: IO Int
-casadi__MX__getEqualityCheckingDepth  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getEqualityCheckingDepth errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getEqualityCheckingDepth :: IO Int
-mx_getEqualityCheckingDepth = casadi__MX__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getEvaluationOutput" c_casadi__MX__getEvaluationOutput
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__getEvaluationOutput
-  :: MX -> IO Int
-casadi__MX__getEvaluationOutput x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getEvaluationOutput errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getEvaluationOutput :: MXClass a => a -> IO Int
-mx_getEvaluationOutput x = casadi__MX__getEvaluationOutput (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getFunction" c_casadi__MX__getFunction
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Function')
-casadi__MX__getFunction
-  :: MX -> IO Function
-casadi__MX__getFunction x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getFunction errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getFunction :: MXClass a => a -> IO Function
-mx_getFunction x = casadi__MX__getFunction (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getMatrixValue" c_casadi__MX__getMatrixValue
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr DMatrix')
-casadi__MX__getMatrixValue
-  :: MX -> IO DMatrix
-casadi__MX__getMatrixValue x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getMatrixValue errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getMatrixValue :: MXClass a => a -> IO DMatrix
-mx_getMatrixValue x = casadi__MX__getMatrixValue (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getMaxNumCallsInPrint" c_casadi__MX__getMaxNumCallsInPrint
-  :: Ptr (Ptr StdString) -> IO CLong
-casadi__MX__getMaxNumCallsInPrint
-  :: IO Int
-casadi__MX__getMaxNumCallsInPrint  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getMaxNumCallsInPrint errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getMaxNumCallsInPrint :: IO Int
-mx_getMaxNumCallsInPrint = casadi__MX__getMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getNZ__0" c_casadi__MX__getNZ__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__getNZ__0
-  :: MX -> IMatrix -> IO MX
-casadi__MX__getNZ__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getNZ__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getNZ__0 :: MXClass a => a -> IMatrix -> IO MX
-mx_getNZ__0 x = casadi__MX__getNZ__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getNZ__1" c_casadi__MX__getNZ__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> IO (Ptr MX')
-casadi__MX__getNZ__1
-  :: MX -> Slice -> IO MX
-casadi__MX__getNZ__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getNZ__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getNZ__1 :: MXClass a => a -> Slice -> IO MX
-mx_getNZ__1 x = casadi__MX__getNZ__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getNZ__2" c_casadi__MX__getNZ__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr MX')
-casadi__MX__getNZ__2
-  :: MX -> Vector Int -> IO MX
-casadi__MX__getNZ__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getNZ__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getNZ__2 :: MXClass a => a -> Vector Int -> IO MX
-mx_getNZ__2 x = casadi__MX__getNZ__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getNZ__3" c_casadi__MX__getNZ__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-casadi__MX__getNZ__3
-  :: MX -> Int -> IO MX
-casadi__MX__getNZ__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getNZ__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getNZ__3 :: MXClass a => a -> Int -> IO MX
-mx_getNZ__3 x = casadi__MX__getNZ__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getName" c_casadi__MX__getName
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr StdString)
-casadi__MX__getName
-  :: MX -> IO String
-casadi__MX__getName x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getName errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getName :: MXClass a => a -> IO String
-mx_getName x = casadi__MX__getName (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getNdeps" c_casadi__MX__getNdeps
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__getNdeps
-  :: MX -> IO Int
-casadi__MX__getNdeps x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getNdeps errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getNdeps :: MXClass a => a -> IO Int
-mx_getNdeps x = casadi__MX__getNdeps (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getNumOutputs" c_casadi__MX__getNumOutputs
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__getNumOutputs
-  :: MX -> IO Int
-casadi__MX__getNumOutputs x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getNumOutputs errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getNumOutputs :: MXClass a => a -> IO Int
-mx_getNumOutputs x = casadi__MX__getNumOutputs (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getOp" c_casadi__MX__getOp
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__getOp
-  :: MX -> IO Int
-casadi__MX__getOp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getOp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getOp :: MXClass a => a -> IO Int
-mx_getOp x = casadi__MX__getOp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getOutput__0" c_casadi__MX__getOutput__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__getOutput__0
-  :: MX -> IO MX
-casadi__MX__getOutput__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getOutput__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getOutput__0 :: MXClass a => a -> IO MX
-mx_getOutput__0 x = casadi__MX__getOutput__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getOutput__1" c_casadi__MX__getOutput__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-casadi__MX__getOutput__1
-  :: MX -> Int -> IO MX
-casadi__MX__getOutput__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getOutput__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getOutput__1 :: MXClass a => a -> Int -> IO MX
-mx_getOutput__1 x = casadi__MX__getOutput__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getTemp" c_casadi__MX__getTemp
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__getTemp
-  :: MX -> IO Int
-casadi__MX__getTemp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getTemp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getTemp :: MXClass a => a -> IO Int
-mx_getTemp x = casadi__MX__getTemp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__getValue" c_casadi__MX__getValue
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CDouble
-casadi__MX__getValue
-  :: MX -> IO Double
-casadi__MX__getValue x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__getValue errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_getValue :: MXClass a => a -> IO Double
-mx_getValue x = casadi__MX__getValue (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__if_else_zero" c_casadi__MX__if_else_zero
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__if_else_zero
-  :: MX -> MX -> IO MX
-casadi__MX__if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__if_else_zero errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_if_else_zero :: MXClass a => a -> MX -> IO MX
-mx_if_else_zero x = casadi__MX__if_else_zero (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed__0" c_casadi__MX__indexed__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> IO (Ptr MX')
-casadi__MX__indexed__0
-  :: MX -> Slice -> IO MX
-casadi__MX__indexed__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed__0 :: MXClass a => a -> Slice -> IO MX
-mx_indexed__0 x = casadi__MX__indexed__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed__1" c_casadi__MX__indexed__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__indexed__1
-  :: MX -> IMatrix -> IMatrix -> IO MX
-casadi__MX__indexed__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed__1 :: MXClass a => a -> IMatrix -> IMatrix -> IO MX
-mx_indexed__1 x = casadi__MX__indexed__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed__2" c_casadi__MX__indexed__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr MX')
-casadi__MX__indexed__2
-  :: MX -> IMatrix -> Slice -> IO MX
-casadi__MX__indexed__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed__2 :: MXClass a => a -> IMatrix -> Slice -> IO MX
-mx_indexed__2 x = casadi__MX__indexed__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed__3" c_casadi__MX__indexed__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__indexed__3
-  :: MX -> Slice -> IMatrix -> IO MX
-casadi__MX__indexed__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed__3 :: MXClass a => a -> Slice -> IMatrix -> IO MX
-mx_indexed__3 x = casadi__MX__indexed__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed__4" c_casadi__MX__indexed__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__indexed__4
-  :: MX -> Sparsity -> IO MX
-casadi__MX__indexed__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed__4 :: MXClass a => a -> Sparsity -> IO MX
-mx_indexed__4 x = casadi__MX__indexed__4 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed__5" c_casadi__MX__indexed__5
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__indexed__5
-  :: MX -> IMatrix -> IO MX
-casadi__MX__indexed__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed__5 :: MXClass a => a -> IMatrix -> IO MX
-mx_indexed__5 x = casadi__MX__indexed__5 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed__6" c_casadi__MX__indexed__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr Slice' -> IO (Ptr MX')
-casadi__MX__indexed__6
-  :: MX -> Slice -> Slice -> IO MX
-casadi__MX__indexed__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed__6 :: MXClass a => a -> Slice -> Slice -> IO MX
-mx_indexed__6 x = casadi__MX__indexed__6 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_assignment__0" c_casadi__MX__indexed_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr MX' -> IO ()
-casadi__MX__indexed_assignment__0
-  :: MX -> Slice -> MX -> IO ()
-casadi__MX__indexed_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_assignment__0 :: MXClass a => a -> Slice -> MX -> IO ()
-mx_indexed_assignment__0 x = casadi__MX__indexed_assignment__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_assignment__1" c_casadi__MX__indexed_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casadi__MX__indexed_assignment__1
-  :: MX -> IMatrix -> IMatrix -> MX -> IO ()
-casadi__MX__indexed_assignment__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_assignment__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_assignment__1 :: MXClass a => a -> IMatrix -> IMatrix -> MX -> IO ()
-mx_indexed_assignment__1 x = casadi__MX__indexed_assignment__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_assignment__2" c_casadi__MX__indexed_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casadi__MX__indexed_assignment__2
-  :: MX -> Slice -> IMatrix -> MX -> IO ()
-casadi__MX__indexed_assignment__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_assignment__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_assignment__2 :: MXClass a => a -> Slice -> IMatrix -> MX -> IO ()
-mx_indexed_assignment__2 x = casadi__MX__indexed_assignment__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_assignment__3" c_casadi__MX__indexed_assignment__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr Slice' -> Ptr MX' -> IO ()
-casadi__MX__indexed_assignment__3
-  :: MX -> IMatrix -> Slice -> MX -> IO ()
-casadi__MX__indexed_assignment__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_assignment__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_assignment__3 :: MXClass a => a -> IMatrix -> Slice -> MX -> IO ()
-mx_indexed_assignment__3 x = casadi__MX__indexed_assignment__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_assignment__4" c_casadi__MX__indexed_assignment__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> Ptr MX' -> IO ()
-casadi__MX__indexed_assignment__4
-  :: MX -> Sparsity -> MX -> IO ()
-casadi__MX__indexed_assignment__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_assignment__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_assignment__4 :: MXClass a => a -> Sparsity -> MX -> IO ()
-mx_indexed_assignment__4 x = casadi__MX__indexed_assignment__4 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_assignment__5" c_casadi__MX__indexed_assignment__5
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr Slice' -> Ptr MX' -> IO ()
-casadi__MX__indexed_assignment__5
-  :: MX -> Slice -> Slice -> MX -> IO ()
-casadi__MX__indexed_assignment__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_assignment__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_assignment__5 :: MXClass a => a -> Slice -> Slice -> MX -> IO ()
-mx_indexed_assignment__5 x = casadi__MX__indexed_assignment__5 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_one_based__0" c_casadi__MX__indexed_one_based__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-casadi__MX__indexed_one_based__0
-  :: MX -> Int -> IO MX
-casadi__MX__indexed_one_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_one_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_one_based__0 :: MXClass a => a -> Int -> IO MX
-mx_indexed_one_based__0 x = casadi__MX__indexed_one_based__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_one_based__1" c_casadi__MX__indexed_one_based__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__indexed_one_based__1
-  :: MX -> Int -> Int -> IO MX
-casadi__MX__indexed_one_based__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_one_based__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_one_based__1 :: MXClass a => a -> Int -> Int -> IO MX
-mx_indexed_one_based__1 x = casadi__MX__indexed_one_based__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_one_based_assignment__0" c_casadi__MX__indexed_one_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casadi__MX__indexed_one_based_assignment__0
-  :: MX -> Int -> MX -> IO ()
-casadi__MX__indexed_one_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_one_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_one_based_assignment__0 :: MXClass a => a -> Int -> MX -> IO ()
-mx_indexed_one_based_assignment__0 x = casadi__MX__indexed_one_based_assignment__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_one_based_assignment__1" c_casadi__MX__indexed_one_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> Ptr MX' -> IO ()
-casadi__MX__indexed_one_based_assignment__1
-  :: MX -> Int -> Int -> MX -> IO ()
-casadi__MX__indexed_one_based_assignment__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_one_based_assignment__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_one_based_assignment__1 :: MXClass a => a -> Int -> Int -> MX -> IO ()
-mx_indexed_one_based_assignment__1 x = casadi__MX__indexed_one_based_assignment__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_zero_based__0" c_casadi__MX__indexed_zero_based__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-casadi__MX__indexed_zero_based__0
-  :: MX -> Int -> IO MX
-casadi__MX__indexed_zero_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_zero_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_zero_based__0 :: MXClass a => a -> Int -> IO MX
-mx_indexed_zero_based__0 x = casadi__MX__indexed_zero_based__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_zero_based__1" c_casadi__MX__indexed_zero_based__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__indexed_zero_based__1
-  :: MX -> Int -> Int -> IO MX
-casadi__MX__indexed_zero_based__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_zero_based__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_zero_based__1 :: MXClass a => a -> Int -> Int -> IO MX
-mx_indexed_zero_based__1 x = casadi__MX__indexed_zero_based__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_zero_based_assignment__0" c_casadi__MX__indexed_zero_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casadi__MX__indexed_zero_based_assignment__0
-  :: MX -> Int -> MX -> IO ()
-casadi__MX__indexed_zero_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_zero_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_zero_based_assignment__0 :: MXClass a => a -> Int -> MX -> IO ()
-mx_indexed_zero_based_assignment__0 x = casadi__MX__indexed_zero_based_assignment__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_zero_based_assignment__1" c_casadi__MX__indexed_zero_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casadi__MX__indexed_zero_based_assignment__1
-  :: MX -> IMatrix -> MX -> IO ()
-casadi__MX__indexed_zero_based_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_zero_based_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_zero_based_assignment__1 :: MXClass a => a -> IMatrix -> MX -> IO ()
-mx_indexed_zero_based_assignment__1 x = casadi__MX__indexed_zero_based_assignment__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__indexed_zero_based_assignment__2" c_casadi__MX__indexed_zero_based_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> Ptr MX' -> IO ()
-casadi__MX__indexed_zero_based_assignment__2
-  :: MX -> Int -> Int -> MX -> IO ()
-casadi__MX__indexed_zero_based_assignment__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__indexed_zero_based_assignment__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_indexed_zero_based_assignment__2 :: MXClass a => a -> Int -> Int -> MX -> IO ()
-mx_indexed_zero_based_assignment__2 x = casadi__MX__indexed_zero_based_assignment__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__0" c_casadi__MX__inf__0
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-casadi__MX__inf__0
-  :: IO MX
-casadi__MX__inf__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__inf__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_inf__0 :: IO MX
-mx_inf__0 = casadi__MX__inf__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__1" c_casadi__MX__inf__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-casadi__MX__inf__1
-  :: Int -> IO MX
-casadi__MX__inf__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__inf__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_inf__1 :: Int -> IO MX
-mx_inf__1 = casadi__MX__inf__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__2" c_casadi__MX__inf__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__inf__2
-  :: Int -> Int -> IO MX
-casadi__MX__inf__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__inf__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_inf__2 :: Int -> Int -> IO MX
-mx_inf__2 = casadi__MX__inf__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inf__3" c_casadi__MX__inf__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__inf__3
-  :: Sparsity -> IO MX
-casadi__MX__inf__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__inf__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_inf__3 :: Sparsity -> IO MX
-mx_inf__3 = casadi__MX__inf__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__inner_prod" c_casadi__MX__inner_prod
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__inner_prod
-  :: MX -> MX -> IO MX
-casadi__MX__inner_prod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__inner_prod errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_inner_prod :: MXClass a => a -> MX -> IO MX
-mx_inner_prod x = casadi__MX__inner_prod (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isBinary" c_casadi__MX__isBinary
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isBinary
-  :: MX -> IO Bool
-casadi__MX__isBinary x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isBinary errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isBinary :: MXClass a => a -> IO Bool
-mx_isBinary x = casadi__MX__isBinary (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isCommutative" c_casadi__MX__isCommutative
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isCommutative
-  :: MX -> IO Bool
-casadi__MX__isCommutative x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isCommutative errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isCommutative :: MXClass a => a -> IO Bool
-mx_isCommutative x = casadi__MX__isCommutative (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isConstant" c_casadi__MX__isConstant
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isConstant
-  :: MX -> IO Bool
-casadi__MX__isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isConstant errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isConstant :: MXClass a => a -> IO Bool
-mx_isConstant x = casadi__MX__isConstant (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isDense" c_casadi__MX__isDense
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isDense
-  :: MX -> IO Bool
-casadi__MX__isDense x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isDense errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isDense :: MXClass a => a -> IO Bool
-mx_isDense x = casadi__MX__isDense (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isEmpty__0" c_casadi__MX__isEmpty__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isEmpty__0
-  :: MX -> IO Bool
-casadi__MX__isEmpty__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isEmpty__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isEmpty__0 :: MXClass a => a -> IO Bool
-mx_isEmpty__0 x = casadi__MX__isEmpty__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isEmpty__1" c_casadi__MX__isEmpty__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-casadi__MX__isEmpty__1
-  :: MX -> Bool -> IO Bool
-casadi__MX__isEmpty__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isEmpty__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isEmpty__1 :: MXClass a => a -> Bool -> IO Bool
-mx_isEmpty__1 x = casadi__MX__isEmpty__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isEqual__0" c_casadi__MX__isEqual__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
-casadi__MX__isEqual__0
-  :: MX -> MX -> IO Bool
-casadi__MX__isEqual__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isEqual__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isEqual__0 :: MXClass a => a -> MX -> IO Bool
-mx_isEqual__0 x = casadi__MX__isEqual__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isEqual__1" c_casadi__MX__isEqual__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO CInt
-casadi__MX__isEqual__1
-  :: MX -> MX -> Int -> IO Bool
-casadi__MX__isEqual__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isEqual__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isEqual__1 :: MXClass a => a -> MX -> Int -> IO Bool
-mx_isEqual__1 x = casadi__MX__isEqual__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isEvaluation" c_casadi__MX__isEvaluation
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isEvaluation
-  :: MX -> IO Bool
-casadi__MX__isEvaluation x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isEvaluation errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isEvaluation :: MXClass a => a -> IO Bool
-mx_isEvaluation x = casadi__MX__isEvaluation (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isEvaluationOutput" c_casadi__MX__isEvaluationOutput
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isEvaluationOutput
-  :: MX -> IO Bool
-casadi__MX__isEvaluationOutput x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isEvaluationOutput errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isEvaluationOutput :: MXClass a => a -> IO Bool
-mx_isEvaluationOutput x = casadi__MX__isEvaluationOutput (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isIdentity" c_casadi__MX__isIdentity
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isIdentity
-  :: MX -> IO Bool
-casadi__MX__isIdentity x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isIdentity errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isIdentity :: MXClass a => a -> IO Bool
-mx_isIdentity x = casadi__MX__isIdentity (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isMinusOne" c_casadi__MX__isMinusOne
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isMinusOne
-  :: MX -> IO Bool
-casadi__MX__isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isMinusOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isMinusOne :: MXClass a => a -> IO Bool
-mx_isMinusOne x = casadi__MX__isMinusOne (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isMultiplication" c_casadi__MX__isMultiplication
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isMultiplication
-  :: MX -> IO Bool
-casadi__MX__isMultiplication x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isMultiplication errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isMultiplication :: MXClass a => a -> IO Bool
-mx_isMultiplication x = casadi__MX__isMultiplication (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isNorm" c_casadi__MX__isNorm
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isNorm
-  :: MX -> IO Bool
-casadi__MX__isNorm x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isNorm errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isNorm :: MXClass a => a -> IO Bool
-mx_isNorm x = casadi__MX__isNorm (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isOne" c_casadi__MX__isOne
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isOne
-  :: MX -> IO Bool
-casadi__MX__isOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isOne :: MXClass a => a -> IO Bool
-mx_isOne x = casadi__MX__isOne (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isOperation" c_casadi__MX__isOperation
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-casadi__MX__isOperation
-  :: MX -> Int -> IO Bool
-casadi__MX__isOperation x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isOperation errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isOperation :: MXClass a => a -> Int -> IO Bool
-mx_isOperation x = casadi__MX__isOperation (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isRegular" c_casadi__MX__isRegular
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isRegular
-  :: MX -> IO Bool
-casadi__MX__isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isRegular errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isRegular :: MXClass a => a -> IO Bool
-mx_isRegular x = casadi__MX__isRegular (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isScalar__0" c_casadi__MX__isScalar__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isScalar__0
-  :: MX -> IO Bool
-casadi__MX__isScalar__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isScalar__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isScalar__0 :: MXClass a => a -> IO Bool
-mx_isScalar__0 x = casadi__MX__isScalar__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isScalar__1" c_casadi__MX__isScalar__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-casadi__MX__isScalar__1
-  :: MX -> Bool -> IO Bool
-casadi__MX__isScalar__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isScalar__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isScalar__1 :: MXClass a => a -> Bool -> IO Bool
-mx_isScalar__1 x = casadi__MX__isScalar__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isSquare" c_casadi__MX__isSquare
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isSquare
-  :: MX -> IO Bool
-casadi__MX__isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isSquare errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isSquare :: MXClass a => a -> IO Bool
-mx_isSquare x = casadi__MX__isSquare (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isSymbolic" c_casadi__MX__isSymbolic
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isSymbolic
-  :: MX -> IO Bool
-casadi__MX__isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isSymbolic errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isSymbolic :: MXClass a => a -> IO Bool
-mx_isSymbolic x = casadi__MX__isSymbolic (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isSymbolicSparse" c_casadi__MX__isSymbolicSparse
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isSymbolicSparse
-  :: MX -> IO Bool
-casadi__MX__isSymbolicSparse x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isSymbolicSparse errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isSymbolicSparse :: MXClass a => a -> IO Bool
-mx_isSymbolicSparse x = casadi__MX__isSymbolicSparse (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isTranspose" c_casadi__MX__isTranspose
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isTranspose
-  :: MX -> IO Bool
-casadi__MX__isTranspose x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isTranspose errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isTranspose :: MXClass a => a -> IO Bool
-mx_isTranspose x = casadi__MX__isTranspose (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isTril" c_casadi__MX__isTril
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isTril
-  :: MX -> IO Bool
-casadi__MX__isTril x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isTril errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isTril :: MXClass a => a -> IO Bool
-mx_isTril x = casadi__MX__isTril (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isTriu" c_casadi__MX__isTriu
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isTriu
-  :: MX -> IO Bool
-casadi__MX__isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isTriu errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isTriu :: MXClass a => a -> IO Bool
-mx_isTriu x = casadi__MX__isTriu (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isUnary" c_casadi__MX__isUnary
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isUnary
-  :: MX -> IO Bool
-casadi__MX__isUnary x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isUnary errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isUnary :: MXClass a => a -> IO Bool
-mx_isUnary x = casadi__MX__isUnary (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isVector" c_casadi__MX__isVector
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isVector
-  :: MX -> IO Bool
-casadi__MX__isVector x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isVector errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isVector :: MXClass a => a -> IO Bool
-mx_isVector x = casadi__MX__isVector (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__isZero" c_casadi__MX__isZero
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__isZero
-  :: MX -> IO Bool
-casadi__MX__isZero x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__isZero errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_isZero :: MXClass a => a -> IO Bool
-mx_isZero x = casadi__MX__isZero (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__lift" c_casadi__MX__lift
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
-casadi__MX__lift
-  :: MX -> MX -> IO ()
-casadi__MX__lift x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__lift errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_lift :: MXClass a => a -> MX -> IO ()
-mx_lift x = casadi__MX__lift (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__log" c_casadi__MX__log
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__log
-  :: MX -> IO MX
-casadi__MX__log x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__log errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_log :: MXClass a => a -> IO MX
-mx_log x = casadi__MX__log (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__log10" c_casadi__MX__log10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__log10
-  :: MX -> IO MX
-casadi__MX__log10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__log10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_log10 :: MXClass a => a -> IO MX
-mx_log10 x = casadi__MX__log10 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__logic_and" c_casadi__MX__logic_and
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__logic_and
-  :: MX -> MX -> IO MX
-casadi__MX__logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__logic_and errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_logic_and :: MXClass a => a -> MX -> IO MX
-mx_logic_and x = casadi__MX__logic_and (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__logic_not" c_casadi__MX__logic_not
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__logic_not
-  :: MX -> IO MX
-casadi__MX__logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__logic_not errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_logic_not :: MXClass a => a -> IO MX
-mx_logic_not x = casadi__MX__logic_not (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__logic_or" c_casadi__MX__logic_or
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__logic_or
-  :: MX -> MX -> IO MX
-casadi__MX__logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__logic_or errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_logic_or :: MXClass a => a -> MX -> IO MX
-mx_logic_or x = casadi__MX__logic_or (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__mapping" c_casadi__MX__mapping
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr IMatrix')
-casadi__MX__mapping
-  :: MX -> IO IMatrix
-casadi__MX__mapping x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__mapping errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_mapping :: MXClass a => a -> IO IMatrix
-mx_mapping x = casadi__MX__mapping (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__mul__0" c_casadi__MX__mul__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__mul__0
-  :: MX -> MX -> IO MX
-casadi__MX__mul__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__mul__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_mul__0 :: MXClass a => a -> MX -> IO MX
-mx_mul__0 x = casadi__MX__mul__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__mul__1" c_casadi__MX__mul__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__mul__1
-  :: MX -> MX -> Sparsity -> IO MX
-casadi__MX__mul__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__mul__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_mul__1 :: MXClass a => a -> MX -> Sparsity -> IO MX
-mx_mul__1 x = casadi__MX__mul__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__mul_full__0" c_casadi__MX__mul_full__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__mul_full__0
-  :: MX -> MX -> IO MX
-casadi__MX__mul_full__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__mul_full__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_mul_full__0 :: MXClass a => a -> MX -> IO MX
-mx_mul_full__0 x = casadi__MX__mul_full__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__mul_full__1" c_casadi__MX__mul_full__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__mul_full__1
-  :: MX -> MX -> Sparsity -> IO MX
-casadi__MX__mul_full__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__mul_full__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_mul_full__1 :: MXClass a => a -> MX -> Sparsity -> IO MX
-mx_mul_full__1 x = casadi__MX__mul_full__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__mul_smart" c_casadi__MX__mul_smart
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__mul_smart
-  :: MX -> MX -> Sparsity -> IO MX
-casadi__MX__mul_smart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__mul_smart errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_mul_smart :: MXClass a => a -> MX -> Sparsity -> IO MX
-mx_mul_smart x = casadi__MX__mul_smart (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__0" c_casadi__MX__nan__0
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-casadi__MX__nan__0
-  :: IO MX
-casadi__MX__nan__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nan__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nan__0 :: IO MX
-mx_nan__0 = casadi__MX__nan__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__1" c_casadi__MX__nan__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-casadi__MX__nan__1
-  :: Int -> IO MX
-casadi__MX__nan__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nan__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nan__1 :: Int -> IO MX
-mx_nan__1 = casadi__MX__nan__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__2" c_casadi__MX__nan__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__nan__2
-  :: Int -> Int -> IO MX
-casadi__MX__nan__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nan__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nan__2 :: Int -> Int -> IO MX
-mx_nan__2 = casadi__MX__nan__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nan__3" c_casadi__MX__nan__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__nan__3
-  :: Sparsity -> IO MX
-casadi__MX__nan__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nan__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nan__3 :: Sparsity -> IO MX
-mx_nan__3 = casadi__MX__nan__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__numel" c_casadi__MX__numel
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__numel
-  :: MX -> IO Int
-casadi__MX__numel x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__numel errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_numel :: MXClass a => a -> IO Int
-mx_numel x = casadi__MX__numel (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nz_indexed__0" c_casadi__MX__nz_indexed__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__nz_indexed__0
-  :: MX -> IMatrix -> IO MX
-casadi__MX__nz_indexed__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nz_indexed__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nz_indexed__0 :: MXClass a => a -> IMatrix -> IO MX
-mx_nz_indexed__0 x = casadi__MX__nz_indexed__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nz_indexed__1" c_casadi__MX__nz_indexed__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> IO (Ptr MX')
-casadi__MX__nz_indexed__1
-  :: MX -> Slice -> IO MX
-casadi__MX__nz_indexed__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nz_indexed__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nz_indexed__1 :: MXClass a => a -> Slice -> IO MX
-mx_nz_indexed__1 x = casadi__MX__nz_indexed__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nz_indexed_assignment__0" c_casadi__MX__nz_indexed_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casadi__MX__nz_indexed_assignment__0
-  :: MX -> IMatrix -> MX -> IO ()
-casadi__MX__nz_indexed_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nz_indexed_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nz_indexed_assignment__0 :: MXClass a => a -> IMatrix -> MX -> IO ()
-mx_nz_indexed_assignment__0 x = casadi__MX__nz_indexed_assignment__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nz_indexed_assignment__1" c_casadi__MX__nz_indexed_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr MX' -> IO ()
-casadi__MX__nz_indexed_assignment__1
-  :: MX -> Slice -> MX -> IO ()
-casadi__MX__nz_indexed_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nz_indexed_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nz_indexed_assignment__1 :: MXClass a => a -> Slice -> MX -> IO ()
-mx_nz_indexed_assignment__1 x = casadi__MX__nz_indexed_assignment__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nz_indexed_one_based" c_casadi__MX__nz_indexed_one_based
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-casadi__MX__nz_indexed_one_based
-  :: MX -> Int -> IO MX
-casadi__MX__nz_indexed_one_based x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nz_indexed_one_based errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nz_indexed_one_based :: MXClass a => a -> Int -> IO MX
-mx_nz_indexed_one_based x = casadi__MX__nz_indexed_one_based (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nz_indexed_one_based_assignment" c_casadi__MX__nz_indexed_one_based_assignment
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casadi__MX__nz_indexed_one_based_assignment
-  :: MX -> Int -> MX -> IO ()
-casadi__MX__nz_indexed_one_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nz_indexed_one_based_assignment errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nz_indexed_one_based_assignment :: MXClass a => a -> Int -> MX -> IO ()
-mx_nz_indexed_one_based_assignment x = casadi__MX__nz_indexed_one_based_assignment (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nz_indexed_zero_based" c_casadi__MX__nz_indexed_zero_based
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-casadi__MX__nz_indexed_zero_based
-  :: MX -> Int -> IO MX
-casadi__MX__nz_indexed_zero_based x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nz_indexed_zero_based errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nz_indexed_zero_based :: MXClass a => a -> Int -> IO MX
-mx_nz_indexed_zero_based x = casadi__MX__nz_indexed_zero_based (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__nz_indexed_zero_based_assignment" c_casadi__MX__nz_indexed_zero_based_assignment
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casadi__MX__nz_indexed_zero_based_assignment
-  :: MX -> Int -> MX -> IO ()
-casadi__MX__nz_indexed_zero_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__nz_indexed_zero_based_assignment errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_nz_indexed_zero_based_assignment :: MXClass a => a -> Int -> MX -> IO ()
-mx_nz_indexed_zero_based_assignment x = casadi__MX__nz_indexed_zero_based_assignment (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__0" c_casadi__MX__ones__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__ones__0
-  :: Sparsity -> IO MX
-casadi__MX__ones__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__ones__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_ones__0 :: Sparsity -> IO MX
-mx_ones__0 = casadi__MX__ones__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__1" c_casadi__MX__ones__1
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-casadi__MX__ones__1
-  :: IO MX
-casadi__MX__ones__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__ones__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_ones__1 :: IO MX
-mx_ones__1 = casadi__MX__ones__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__2" c_casadi__MX__ones__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-casadi__MX__ones__2
-  :: Int -> IO MX
-casadi__MX__ones__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__ones__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_ones__2 :: Int -> IO MX
-mx_ones__2 = casadi__MX__ones__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__ones__3" c_casadi__MX__ones__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__ones__3
-  :: Int -> Int -> IO MX
-casadi__MX__ones__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__ones__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_ones__3 :: Int -> Int -> IO MX
-mx_ones__3 = casadi__MX__ones__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__outer_prod" c_casadi__MX__outer_prod
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__outer_prod
-  :: MX -> MX -> IO MX
-casadi__MX__outer_prod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__outer_prod errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_outer_prod :: MXClass a => a -> MX -> IO MX
-mx_outer_prod x = casadi__MX__outer_prod (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__printme" c_casadi__MX__printme
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__printme
-  :: MX -> MX -> IO MX
-casadi__MX__printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__printme errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_printme :: MXClass a => a -> MX -> IO MX
-mx_printme x = casadi__MX__printme (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__repmat__0" c_casadi__MX__repmat__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
-casadi__MX__repmat__0
-  :: MX -> Int -> IO MX
-casadi__MX__repmat__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__repmat__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_repmat__0 :: MX -> Int -> IO MX
-mx_repmat__0 = casadi__MX__repmat__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__repmat__1" c_casadi__MX__repmat__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__repmat__1
-  :: MX -> Int -> Int -> IO MX
-casadi__MX__repmat__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__repmat__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_repmat__1 :: MX -> Int -> Int -> IO MX
-mx_repmat__1 = casadi__MX__repmat__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__repmat__2" c_casadi__MX__repmat__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__repmat__2
-  :: MX -> Sparsity -> IO MX
-casadi__MX__repmat__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__repmat__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_repmat__2 :: MX -> Sparsity -> IO MX
-mx_repmat__2 = casadi__MX__repmat__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setEqualityCheckingDepth__0" c_casadi__MX__setEqualityCheckingDepth__0
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__MX__setEqualityCheckingDepth__0
-  :: IO ()
-casadi__MX__setEqualityCheckingDepth__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setEqualityCheckingDepth__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setEqualityCheckingDepth__0 :: IO ()
-mx_setEqualityCheckingDepth__0 = casadi__MX__setEqualityCheckingDepth__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setEqualityCheckingDepth__1" c_casadi__MX__setEqualityCheckingDepth__1
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__MX__setEqualityCheckingDepth__1
-  :: Int -> IO ()
-casadi__MX__setEqualityCheckingDepth__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setEqualityCheckingDepth__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setEqualityCheckingDepth__1 :: Int -> IO ()
-mx_setEqualityCheckingDepth__1 = casadi__MX__setEqualityCheckingDepth__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setMaxNumCallsInPrint__0" c_casadi__MX__setMaxNumCallsInPrint__0
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__MX__setMaxNumCallsInPrint__0
-  :: IO ()
-casadi__MX__setMaxNumCallsInPrint__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setMaxNumCallsInPrint__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setMaxNumCallsInPrint__0 :: IO ()
-mx_setMaxNumCallsInPrint__0 = casadi__MX__setMaxNumCallsInPrint__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setMaxNumCallsInPrint__1" c_casadi__MX__setMaxNumCallsInPrint__1
-  :: Ptr (Ptr StdString) -> CLong -> IO ()
-casadi__MX__setMaxNumCallsInPrint__1
-  :: Int -> IO ()
-casadi__MX__setMaxNumCallsInPrint__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setMaxNumCallsInPrint__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setMaxNumCallsInPrint__1 :: Int -> IO ()
-mx_setMaxNumCallsInPrint__1 = casadi__MX__setMaxNumCallsInPrint__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setNZ__0" c_casadi__MX__setNZ__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casadi__MX__setNZ__0
-  :: MX -> IMatrix -> MX -> IO ()
-casadi__MX__setNZ__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setNZ__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setNZ__0 :: MXClass a => a -> IMatrix -> MX -> IO ()
-mx_setNZ__0 x = casadi__MX__setNZ__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setNZ__1" c_casadi__MX__setNZ__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr MX' -> IO ()
-casadi__MX__setNZ__1
-  :: MX -> Slice -> MX -> IO ()
-casadi__MX__setNZ__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setNZ__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setNZ__1 :: MXClass a => a -> Slice -> MX -> IO ()
-mx_setNZ__1 x = casadi__MX__setNZ__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setNZ__2" c_casadi__MX__setNZ__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr MX' -> IO ()
-casadi__MX__setNZ__2
-  :: MX -> Vector Int -> MX -> IO ()
-casadi__MX__setNZ__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setNZ__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setNZ__2 :: MXClass a => a -> Vector Int -> MX -> IO ()
-mx_setNZ__2 x = casadi__MX__setNZ__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setNZ__3" c_casadi__MX__setNZ__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casadi__MX__setNZ__3
-  :: MX -> Int -> MX -> IO ()
-casadi__MX__setNZ__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setNZ__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setNZ__3 :: MXClass a => a -> Int -> MX -> IO ()
-mx_setNZ__3 x = casadi__MX__setNZ__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSparse__0" c_casadi__MX__setSparse__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__setSparse__0
-  :: MX -> Sparsity -> IO MX
-casadi__MX__setSparse__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSparse__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSparse__0 :: MXClass a => a -> Sparsity -> IO MX
-mx_setSparse__0 x = casadi__MX__setSparse__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSparse__1" c_casadi__MX__setSparse__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> CInt -> IO (Ptr MX')
-casadi__MX__setSparse__1
-  :: MX -> Sparsity -> Bool -> IO MX
-casadi__MX__setSparse__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSparse__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSparse__1 :: MXClass a => a -> Sparsity -> Bool -> IO MX
-mx_setSparse__1 x = casadi__MX__setSparse__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__0" c_casadi__MX__setSub__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> CInt -> IO ()
-casadi__MX__setSub__0
-  :: MX -> MX -> Sparsity -> Int -> IO ()
-casadi__MX__setSub__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__0 :: MXClass a => a -> MX -> Sparsity -> Int -> IO ()
-mx_setSub__0 x = casadi__MX__setSub__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__1" c_casadi__MX__setSub__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__MX__setSub__1
-  :: MX -> MX -> IMatrix -> IMatrix -> IO ()
-casadi__MX__setSub__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__1 :: MXClass a => a -> MX -> IMatrix -> IMatrix -> IO ()
-mx_setSub__1 x = casadi__MX__setSub__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__2" c_casadi__MX__setSub__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr Slice' -> Ptr Slice' -> IO ()
-casadi__MX__setSub__2
-  :: MX -> MX -> Slice -> Slice -> IO ()
-casadi__MX__setSub__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__2 :: MXClass a => a -> MX -> Slice -> Slice -> IO ()
-mx_setSub__2 x = casadi__MX__setSub__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__3" c_casadi__MX__setSub__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IMatrix' -> IO ()
-casadi__MX__setSub__3
-  :: MX -> MX -> Int -> IMatrix -> IO ()
-casadi__MX__setSub__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__3 :: MXClass a => a -> MX -> Int -> IMatrix -> IO ()
-mx_setSub__3 x = casadi__MX__setSub__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__4" c_casadi__MX__setSub__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO ()
-casadi__MX__setSub__4
-  :: MX -> MX -> Vector Int -> IMatrix -> IO ()
-casadi__MX__setSub__4 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__4 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__4 :: MXClass a => a -> MX -> Vector Int -> IMatrix -> IO ()
-mx_setSub__4 x = casadi__MX__setSub__4 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__5" c_casadi__MX__setSub__5
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr IMatrix' -> CInt -> IO ()
-casadi__MX__setSub__5
-  :: MX -> MX -> IMatrix -> Int -> IO ()
-casadi__MX__setSub__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__5 :: MXClass a => a -> MX -> IMatrix -> Int -> IO ()
-mx_setSub__5 x = casadi__MX__setSub__5 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__6" c_casadi__MX__setSub__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
-casadi__MX__setSub__6
-  :: MX -> MX -> IMatrix -> Vector Int -> IO ()
-casadi__MX__setSub__6 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__6 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__6 :: MXClass a => a -> MX -> IMatrix -> Vector Int -> IO ()
-mx_setSub__6 x = casadi__MX__setSub__6 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__7" c_casadi__MX__setSub__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr Slice' -> IO ()
-casadi__MX__setSub__7
-  :: MX -> MX -> Vector Int -> Slice -> IO ()
-casadi__MX__setSub__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__7 :: MXClass a => a -> MX -> Vector Int -> Slice -> IO ()
-mx_setSub__7 x = casadi__MX__setSub__7 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__8" c_casadi__MX__setSub__8
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__MX__setSub__8
-  :: MX -> MX -> Vector Int -> Vector Int -> IO ()
-casadi__MX__setSub__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__8 :: MXClass a => a -> MX -> Vector Int -> Vector Int -> IO ()
-mx_setSub__8 x = casadi__MX__setSub__8 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__9" c_casadi__MX__setSub__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr (StdVec CInt) -> IO ()
-casadi__MX__setSub__9
-  :: MX -> MX -> Int -> Vector Int -> IO ()
-casadi__MX__setSub__9 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__9 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__9 :: MXClass a => a -> MX -> Int -> Vector Int -> IO ()
-mx_setSub__9 x = casadi__MX__setSub__9 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__10" c_casadi__MX__setSub__10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr (StdVec CInt) -> CInt -> IO ()
-casadi__MX__setSub__10
-  :: MX -> MX -> Vector Int -> Int -> IO ()
-casadi__MX__setSub__10 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__10 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__10 :: MXClass a => a -> MX -> Vector Int -> Int -> IO ()
-mx_setSub__10 x = casadi__MX__setSub__10 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setSub__11" c_casadi__MX__setSub__11
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> CInt -> IO ()
-casadi__MX__setSub__11
-  :: MX -> MX -> Int -> Int -> IO ()
-casadi__MX__setSub__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setSub__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setSub__11 :: MXClass a => a -> MX -> Int -> Int -> IO ()
-mx_setSub__11 x = casadi__MX__setSub__11 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__setTemp" c_casadi__MX__setTemp
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO ()
-casadi__MX__setTemp
-  :: MX -> Int -> IO ()
-casadi__MX__setTemp x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__setTemp errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_setTemp :: MXClass a => a -> Int -> IO ()
-mx_setTemp x = casadi__MX__setTemp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sign" c_casadi__MX__sign
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__sign
-  :: MX -> IO MX
-casadi__MX__sign x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sign errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sign :: MXClass a => a -> IO MX
-mx_sign x = casadi__MX__sign (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sin" c_casadi__MX__sin
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__sin
-  :: MX -> IO MX
-casadi__MX__sin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sin :: MXClass a => a -> IO MX
-mx_sin x = casadi__MX__sin (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sinh" c_casadi__MX__sinh
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__sinh
-  :: MX -> IO MX
-casadi__MX__sinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sinh :: MXClass a => a -> IO MX
-mx_sinh x = casadi__MX__sinh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__size__0" c_casadi__MX__size__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
-casadi__MX__size__0
-  :: MX -> SparsityType -> IO Int
-casadi__MX__size__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__size__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_size__0 :: MXClass a => a -> SparsityType -> IO Int
-mx_size__0 x = casadi__MX__size__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__size__1" c_casadi__MX__size__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__size__1
-  :: MX -> IO Int
-casadi__MX__size__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__size__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_size__1 :: MXClass a => a -> IO Int
-mx_size__1 x = casadi__MX__size__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__size1" c_casadi__MX__size1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__size1
-  :: MX -> IO Int
-casadi__MX__size1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__size1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_size1 :: MXClass a => a -> IO Int
-mx_size1 x = casadi__MX__size1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__size2" c_casadi__MX__size2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__size2
-  :: MX -> IO Int
-casadi__MX__size2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__size2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_size2 :: MXClass a => a -> IO Int
-mx_size2 x = casadi__MX__size2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sizeD" c_casadi__MX__sizeD
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__sizeD
-  :: MX -> IO Int
-casadi__MX__sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sizeD errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sizeD :: MXClass a => a -> IO Int
-mx_sizeD x = casadi__MX__sizeD (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sizeL" c_casadi__MX__sizeL
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__sizeL
-  :: MX -> IO Int
-casadi__MX__sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sizeL errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sizeL :: MXClass a => a -> IO Int
-mx_sizeL x = casadi__MX__sizeL (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sizeU" c_casadi__MX__sizeU
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-casadi__MX__sizeU
-  :: MX -> IO Int
-casadi__MX__sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sizeU errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sizeU :: MXClass a => a -> IO Int
-mx_sizeU x = casadi__MX__sizeU (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sparse__0" c_casadi__MX__sparse__0
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-casadi__MX__sparse__0
-  :: IO MX
-casadi__MX__sparse__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sparse__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sparse__0 :: IO MX
-mx_sparse__0 = casadi__MX__sparse__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sparse__1" c_casadi__MX__sparse__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-casadi__MX__sparse__1
-  :: Int -> IO MX
-casadi__MX__sparse__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sparse__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sparse__1 :: Int -> IO MX
-mx_sparse__1 = casadi__MX__sparse__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sparse__2" c_casadi__MX__sparse__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__sparse__2
-  :: Int -> Int -> IO MX
-casadi__MX__sparse__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sparse__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sparse__2 :: Int -> Int -> IO MX
-mx_sparse__2 = casadi__MX__sparse__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sparsity__0" c_casadi__MX__sparsity__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
-casadi__MX__sparsity__0
-  :: MX -> IO Sparsity
-casadi__MX__sparsity__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sparsity__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sparsity__0 :: MXClass a => a -> IO Sparsity
-mx_sparsity__0 x = casadi__MX__sparsity__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sparsity__1" c_casadi__MX__sparsity__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
-casadi__MX__sparsity__1
-  :: MX -> IO Sparsity
-casadi__MX__sparsity__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sparsity__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sparsity__1 :: MXClass a => a -> IO Sparsity
-mx_sparsity__1 x = casadi__MX__sparsity__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sparsityRef__0" c_casadi__MX__sparsityRef__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
-casadi__MX__sparsityRef__0
-  :: MX -> IO Sparsity
-casadi__MX__sparsityRef__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sparsityRef__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sparsityRef__0 :: MXClass a => a -> IO Sparsity
-mx_sparsityRef__0 x = casadi__MX__sparsityRef__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sparsityRef__1" c_casadi__MX__sparsityRef__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
-casadi__MX__sparsityRef__1
-  :: MX -> IO Sparsity
-casadi__MX__sparsityRef__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sparsityRef__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sparsityRef__1 :: MXClass a => a -> IO Sparsity
-mx_sparsityRef__1 x = casadi__MX__sparsityRef__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sqrt" c_casadi__MX__sqrt
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__sqrt
-  :: MX -> IO MX
-casadi__MX__sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sqrt errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sqrt :: MXClass a => a -> IO MX
-mx_sqrt x = casadi__MX__sqrt (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__0" c_casadi__MX__sub__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__sub__0
-  :: MX -> Int -> IMatrix -> IO MX
-casadi__MX__sub__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__0 :: MXClass a => a -> Int -> IMatrix -> IO MX
-mx_sub__0 x = casadi__MX__sub__0 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__1" c_casadi__MX__sub__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__sub__1
-  :: MX -> IMatrix -> IMatrix -> IO MX
-casadi__MX__sub__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__1 :: MXClass a => a -> IMatrix -> IMatrix -> IO MX
-mx_sub__1 x = casadi__MX__sub__1 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__2" c_casadi__MX__sub__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__sub__2
-  :: MX -> Slice -> IMatrix -> IO MX
-casadi__MX__sub__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__2 :: MXClass a => a -> Slice -> IMatrix -> IO MX
-mx_sub__2 x = casadi__MX__sub__2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__3" c_casadi__MX__sub__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr MX')
-casadi__MX__sub__3
-  :: MX -> IMatrix -> Slice -> IO MX
-casadi__MX__sub__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__3 :: MXClass a => a -> IMatrix -> Slice -> IO MX
-mx_sub__3 x = casadi__MX__sub__3 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__4" c_casadi__MX__sub__4
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> Ptr Slice' -> IO (Ptr MX')
-casadi__MX__sub__4
-  :: MX -> Slice -> Slice -> IO MX
-casadi__MX__sub__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__4 :: MXClass a => a -> Slice -> Slice -> IO MX
-mx_sub__4 x = casadi__MX__sub__4 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__5" c_casadi__MX__sub__5
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Slice' -> CInt -> IO (Ptr MX')
-casadi__MX__sub__5
-  :: MX -> Slice -> Int -> IO MX
-casadi__MX__sub__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__5 :: MXClass a => a -> Slice -> Int -> IO MX
-mx_sub__5 x = casadi__MX__sub__5 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__6" c_casadi__MX__sub__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr Slice' -> IO (Ptr MX')
-casadi__MX__sub__6
-  :: MX -> Int -> Slice -> IO MX
-casadi__MX__sub__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__6 :: MXClass a => a -> Int -> Slice -> IO MX
-mx_sub__6 x = casadi__MX__sub__6 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__7" c_casadi__MX__sub__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO (Ptr MX')
-casadi__MX__sub__7
-  :: MX -> Vector Int -> IMatrix -> IO MX
-casadi__MX__sub__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__7 :: MXClass a => a -> Vector Int -> IMatrix -> IO MX
-mx_sub__7 x = casadi__MX__sub__7 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__8" c_casadi__MX__sub__8
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr MX')
-casadi__MX__sub__8
-  :: MX -> IMatrix -> Vector Int -> IO MX
-casadi__MX__sub__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__8 :: MXClass a => a -> IMatrix -> Vector Int -> IO MX
-mx_sub__8 x = casadi__MX__sub__8 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__9" c_casadi__MX__sub__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr IMatrix' -> CInt -> IO (Ptr MX')
-casadi__MX__sub__9
-  :: MX -> IMatrix -> Int -> IO MX
-casadi__MX__sub__9 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__9 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__9 :: MXClass a => a -> IMatrix -> Int -> IO MX
-mx_sub__9 x = casadi__MX__sub__9 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__10" c_casadi__MX__sub__10
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__sub__10
-  :: MX -> Sparsity -> IO MX
-casadi__MX__sub__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__10 :: MXClass a => a -> Sparsity -> IO MX
-mx_sub__10 x = casadi__MX__sub__10 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__11" c_casadi__MX__sub__11
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> CInt -> IO (Ptr MX')
-casadi__MX__sub__11
-  :: MX -> Sparsity -> Int -> IO MX
-casadi__MX__sub__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__11 :: MXClass a => a -> Sparsity -> Int -> IO MX
-mx_sub__11 x = casadi__MX__sub__11 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__12" c_casadi__MX__sub__12
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr MX')
-casadi__MX__sub__12
-  :: MX -> Vector Int -> Vector Int -> IO MX
-casadi__MX__sub__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__12 :: MXClass a => a -> Vector Int -> Vector Int -> IO MX
-mx_sub__12 x = casadi__MX__sub__12 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__13" c_casadi__MX__sub__13
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr MX')
-casadi__MX__sub__13
-  :: MX -> Int -> Vector Int -> IO MX
-casadi__MX__sub__13 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__13 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__13 :: MXClass a => a -> Int -> Vector Int -> IO MX
-mx_sub__13 x = casadi__MX__sub__13 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__14" c_casadi__MX__sub__14
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr MX')
-casadi__MX__sub__14
-  :: MX -> Vector Int -> Int -> IO MX
-casadi__MX__sub__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__14 :: MXClass a => a -> Vector Int -> Int -> IO MX
-mx_sub__14 x = casadi__MX__sub__14 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sub__15" c_casadi__MX__sub__15
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__sub__15
-  :: MX -> Int -> Int -> IO MX
-casadi__MX__sub__15 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sub__15 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sub__15 :: MXClass a => a -> Int -> Int -> IO MX
-mx_sub__15 x = casadi__MX__sub__15 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__0" c_casadi__MX__sym__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-casadi__MX__sym__0
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
-casadi__MX__sym__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sym__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
-mx_sym__0 = casadi__MX__sym__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__1" c_casadi__MX__sym__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-casadi__MX__sym__1
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
-casadi__MX__sym__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sym__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
-mx_sym__1 = casadi__MX__sym__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__2" c_casadi__MX__sym__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-casadi__MX__sym__2
-  :: String -> Int -> Int -> Int -> IO (Vector MX)
-casadi__MX__sym__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sym__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sym__2 :: String -> Int -> Int -> Int -> IO (Vector MX)
-mx_sym__2 = casadi__MX__sym__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__3" c_casadi__MX__sym__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-casadi__MX__sym__3
-  :: String -> Sparsity -> Int -> IO (Vector MX)
-casadi__MX__sym__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sym__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sym__3 :: String -> Sparsity -> Int -> IO (Vector MX)
-mx_sym__3 = casadi__MX__sym__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__4" c_casadi__MX__sym__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__sym__4
-  :: String -> Sparsity -> IO MX
-casadi__MX__sym__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sym__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sym__4 :: String -> Sparsity -> IO MX
-mx_sym__4 = casadi__MX__sym__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__5" c_casadi__MX__sym__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr MX')
-casadi__MX__sym__5
-  :: String -> IO MX
-casadi__MX__sym__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sym__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sym__5 :: String -> IO MX
-mx_sym__5 = casadi__MX__sym__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__6" c_casadi__MX__sym__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr MX')
-casadi__MX__sym__6
-  :: String -> Int -> IO MX
-casadi__MX__sym__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sym__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sym__6 :: String -> Int -> IO MX
-mx_sym__6 = casadi__MX__sym__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__sym__7" c_casadi__MX__sym__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__sym__7
-  :: String -> Int -> Int -> IO MX
-casadi__MX__sym__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__sym__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_sym__7 :: String -> Int -> Int -> IO MX
-mx_sym__7 = casadi__MX__sym__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tan" c_casadi__MX__tan
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__tan
-  :: MX -> IO MX
-casadi__MX__tan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__tan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_tan :: MXClass a => a -> IO MX
-mx_tan x = casadi__MX__tan (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__tanh" c_casadi__MX__tanh
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__tanh
-  :: MX -> IO MX
-casadi__MX__tanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__tanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_tanh :: MXClass a => a -> IO MX
-mx_tanh x = casadi__MX__tanh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__trans" c_casadi__MX__trans
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__trans
-  :: MX -> IO MX
-casadi__MX__trans x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__trans errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_trans :: MXClass a => a -> IO MX
-mx_trans x = casadi__MX__trans (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__unary" c_casadi__MX__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr MX' -> IO (Ptr MX')
-casadi__MX__unary
-  :: Int -> MX -> IO MX
-casadi__MX__unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__unary errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_unary :: Int -> MX -> IO MX
-mx_unary = casadi__MX__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__0" c_casadi__MX__zeros__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
-casadi__MX__zeros__0
-  :: Sparsity -> IO MX
-casadi__MX__zeros__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__zeros__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_zeros__0 :: Sparsity -> IO MX
-mx_zeros__0 = casadi__MX__zeros__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__1" c_casadi__MX__zeros__1
-  :: Ptr (Ptr StdString) -> IO (Ptr MX')
-casadi__MX__zeros__1
-  :: IO MX
-casadi__MX__zeros__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__zeros__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_zeros__1 :: IO MX
-mx_zeros__1 = casadi__MX__zeros__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__2" c_casadi__MX__zeros__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
-casadi__MX__zeros__2
-  :: Int -> IO MX
-casadi__MX__zeros__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__zeros__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_zeros__2 :: Int -> IO MX
-mx_zeros__2 = casadi__MX__zeros__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__MX__zeros__3" c_casadi__MX__zeros__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
-casadi__MX__zeros__3
-  :: Int -> Int -> IO MX
-casadi__MX__zeros__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__MX__zeros__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-mx_zeros__3 :: Int -> Int -> IO MX
-mx_zeros__3 = casadi__MX__zeros__3
+         mx_T,
+         mx__0,
+         mx__1,
+         mx__2,
+         mx__3,
+         mx__4,
+         mx__5,
+         mx__6,
+         mx__7,
+         mx__8,
+         mx___constpow__,
+         mx___copysign__,
+         mx___hash__,
+         mx___mldivide__,
+         mx___mrdivide__,
+         mx___nonzero__,
+         mx___truediv____0,
+         mx___truediv____1,
+         mx_addToSum,
+         mx_append,
+         mx_appendColumns,
+         mx_attachAssert__0,
+         mx_attachAssert__1,
+         mx_binary,
+         mx_colind__0,
+         mx_colind__1,
+         mx_constpow,
+         mx_dimString,
+         mx_enlarge__0,
+         mx_enlarge__1,
+         mx_erase__0,
+         mx_erase__1,
+         mx_erase__2,
+         mx_erase__3,
+         mx_eye,
+         mx_getDep__0,
+         mx_getDep__1,
+         mx_getEqualityCheckingDepth,
+         mx_getEvaluationOutput,
+         mx_getFunction,
+         mx_getMatrixValue,
+         mx_getMaxNumCallsInPrint,
+         mx_getNZ__0,
+         mx_getNZ__1,
+         mx_getName,
+         mx_getNdeps,
+         mx_getNumOutputs,
+         mx_getOp,
+         mx_getOutput__0,
+         mx_getOutput__1,
+         mx_getSub__0,
+         mx_getSub__1,
+         mx_getSub__2,
+         mx_getSub__3,
+         mx_getSub__4,
+         mx_getSub__5,
+         mx_getSub__6,
+         mx_getTemp,
+         mx_getValue,
+         mx_inf__0,
+         mx_inf__1,
+         mx_inf__2,
+         mx_inf__3,
+         mx_isBinary,
+         mx_isCommutative,
+         mx_isConstant,
+         mx_isDense,
+         mx_isEmpty__0,
+         mx_isEmpty__1,
+         mx_isEvaluation,
+         mx_isEvaluationOutput,
+         mx_isIdentity,
+         mx_isMinusOne,
+         mx_isMultiplication,
+         mx_isNorm,
+         mx_isOne,
+         mx_isOperation,
+         mx_isRegular,
+         mx_isScalar__0,
+         mx_isScalar__1,
+         mx_isSquare,
+         mx_isSymbolic,
+         mx_isSymbolicSparse,
+         mx_isTranspose,
+         mx_isTril,
+         mx_isTriu,
+         mx_isUnary,
+         mx_isVector,
+         mx_isZero,
+         mx_lift,
+         mx_makeDense__0,
+         mx_makeDense__1,
+         mx_mapping,
+         mx_nan__0,
+         mx_nan__1,
+         mx_nan__2,
+         mx_nan__3,
+         mx_numel__0,
+         mx_numel__1,
+         mx_ones__0,
+         mx_ones__1,
+         mx_ones__2,
+         mx_ones__3,
+         mx_printme,
+         mx_repmat__0,
+         mx_repmat__1,
+         mx_repmat__2,
+         mx_row__0,
+         mx_row__1,
+         mx_setEqualityCheckingDepth__0,
+         mx_setEqualityCheckingDepth__1,
+         mx_setMaxNumCallsInPrint__0,
+         mx_setMaxNumCallsInPrint__1,
+         mx_setNZ__0,
+         mx_setNZ__1,
+         mx_setSparse__0,
+         mx_setSparse__1,
+         mx_setSub__0,
+         mx_setSub__1,
+         mx_setSub__2,
+         mx_setSub__3,
+         mx_setSub__4,
+         mx_setSub__5,
+         mx_setSub__6,
+         mx_setTemp,
+         mx_size1,
+         mx_size2,
+         mx_sizeD,
+         mx_sizeL,
+         mx_sizeU,
+         mx_size__0,
+         mx_size__1,
+         mx_sparse__0,
+         mx_sparse__1,
+         mx_sparse__2,
+         mx_sparse__3,
+         mx_sparsityRef__0,
+         mx_sparsityRef__1,
+         mx_sparsity__0,
+         mx_sparsity__1,
+         mx_sym__0,
+         mx_sym__1,
+         mx_sym__2,
+         mx_sym__3,
+         mx_sym__4,
+         mx_sym__5,
+         mx_sym__6,
+         mx_sym__7,
+         mx_unary,
+         mx_zeros__0,
+         mx_zeros__1,
+         mx_zeros__2,
+         mx_zeros__3,
+         mx_zz_abs,
+         mx_zz_acos,
+         mx_zz_acosh,
+         mx_zz_and,
+         mx_zz_asin,
+         mx_zz_asinh,
+         mx_zz_atan,
+         mx_zz_atan2,
+         mx_zz_atanh,
+         mx_zz_blockcat,
+         mx_zz_blocksplit,
+         mx_zz_ceil,
+         mx_zz_cos,
+         mx_zz_cosh,
+         mx_zz_countNodes,
+         mx_zz_createParent__0,
+         mx_zz_createParent__1,
+         mx_zz_createParent__2,
+         mx_zz_cross__0,
+         mx_zz_cross__1,
+         mx_zz_dense,
+         mx_zz_dependsOn,
+         mx_zz_det,
+         mx_zz_diag,
+         mx_zz_diagcat,
+         mx_zz_diagsplit,
+         mx_zz_eq,
+         mx_zz_erf,
+         mx_zz_erfinv,
+         mx_zz_exp,
+         mx_zz_extractShared__0,
+         mx_zz_extractShared__1,
+         mx_zz_extractShared__2,
+         mx_zz_floor,
+         mx_zz_ge,
+         mx_zz_getOperatorRepresentation,
+         mx_zz_getSymbols__0,
+         mx_zz_getSymbols__1,
+         mx_zz_gradient,
+         mx_zz_graph_substitute__0,
+         mx_zz_graph_substitute__1,
+         mx_zz_gt,
+         mx_zz_horzcat,
+         mx_zz_horzsplit,
+         mx_zz_if_else,
+         mx_zz_if_else_zero,
+         mx_zz_inner_prod,
+         mx_zz_inv,
+         mx_zz_isEqual__0,
+         mx_zz_isEqual__1,
+         mx_zz_jacobian,
+         mx_zz_kron,
+         mx_zz_le,
+         mx_zz_linspace,
+         mx_zz_log,
+         mx_zz_log10,
+         mx_zz_lt,
+         mx_zz_matrix_expand__0,
+         mx_zz_matrix_expand__1,
+         mx_zz_matrix_expand__2,
+         mx_zz_matrix_expand__3,
+         mx_zz_max,
+         mx_zz_min,
+         mx_zz_minus,
+         mx_zz_mod,
+         mx_zz_mpower,
+         mx_zz_mtimes__0,
+         mx_zz_mtimes__1,
+         mx_zz_ne,
+         mx_zz_norm_1,
+         mx_zz_norm_2,
+         mx_zz_norm_F,
+         mx_zz_norm_inf,
+         mx_zz_not,
+         mx_zz_nullspace,
+         mx_zz_or,
+         mx_zz_outer_prod,
+         mx_zz_pinv,
+         mx_zz_plus,
+         mx_zz_polyval,
+         mx_zz_power,
+         mx_zz_printCompact,
+         mx_zz_quad_form__0,
+         mx_zz_quad_form__1,
+         mx_zz_rdivide,
+         mx_zz_repmat__0,
+         mx_zz_repmat__1,
+         mx_zz_repmat__2,
+         mx_zz_reshape__0,
+         mx_zz_reshape__1,
+         mx_zz_sign,
+         mx_zz_simplify,
+         mx_zz_sin,
+         mx_zz_sinh,
+         mx_zz_solve,
+         mx_zz_sprank,
+         mx_zz_sqrt,
+         mx_zz_substituteInPlace__0,
+         mx_zz_substituteInPlace__1,
+         mx_zz_substituteInPlace__2,
+         mx_zz_substituteInPlace__3,
+         mx_zz_substitute__0,
+         mx_zz_substitute__1,
+         mx_zz_sumAll,
+         mx_zz_sumCols,
+         mx_zz_sumRows,
+         mx_zz_sum_square,
+         mx_zz_tan,
+         mx_zz_tangent,
+         mx_zz_tanh,
+         mx_zz_times,
+         mx_zz_trace,
+         mx_zz_tril2symm,
+         mx_zz_tril__0,
+         mx_zz_tril__1,
+         mx_zz_triu2symm,
+         mx_zz_triu__0,
+         mx_zz_triu__1,
+         mx_zz_unite,
+         mx_zz_vec,
+         mx_zz_vecNZ,
+         mx_zz_vecNZcat,
+         mx_zz_veccat,
+         mx_zz_vertcat,
+         mx_zz_vertsplit,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.CToolsInstances ( )
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__0" c_casadi__MX__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__0
+  :: DMatrix -> IO MX
+casadi__MX__CONSTRUCTOR__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__0 :: DMatrix -> IO MX
+mx__0 = casadi__MX__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__1" c_casadi__MX__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__1
+  :: Vector Double -> IO MX
+casadi__MX__CONSTRUCTOR__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__1 :: Vector Double -> IO MX
+mx__1 = casadi__MX__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__2" c_casadi__MX__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__2
+  :: MX -> IO MX
+casadi__MX__CONSTRUCTOR__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__2 :: MX -> IO MX
+mx__2 = casadi__MX__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__3" c_casadi__MX__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__3
+  :: Double -> IO MX
+casadi__MX__CONSTRUCTOR__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__3 :: Double -> IO MX
+mx__3 = casadi__MX__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__4" c_casadi__MX__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__4
+  :: Sparsity -> MX -> IO MX
+casadi__MX__CONSTRUCTOR__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__4 :: Sparsity -> MX -> IO MX
+mx__4 = casadi__MX__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__5" c_casadi__MX__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CDouble -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__5
+  :: Sparsity -> Double -> IO MX
+casadi__MX__CONSTRUCTOR__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__5 :: Sparsity -> Double -> IO MX
+mx__5 = casadi__MX__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__6" c_casadi__MX__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__6
+  :: Sparsity -> IO MX
+casadi__MX__CONSTRUCTOR__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__6 :: Sparsity -> IO MX
+mx__6 = casadi__MX__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__7" c_casadi__MX__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__7
+  :: Sparsity -> Int -> IO MX
+casadi__MX__CONSTRUCTOR__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__7 :: Sparsity -> Int -> IO MX
+mx__7 = casadi__MX__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__CONSTRUCTOR__8" c_casadi__MX__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+casadi__MX__CONSTRUCTOR__8
+  :: IO MX
+casadi__MX__CONSTRUCTOR__8  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__CONSTRUCTOR__8 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx__8 :: IO MX
+mx__8 = casadi__MX__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__T" c_casadi__MX__T
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__T
+  :: MX -> IO MX
+casadi__MX__T x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__T errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_T :: MXClass a => a -> IO MX
+mx_T x = casadi__MX__T (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____constpow__" c_casadi__MX____constpow__
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX____constpow__
+  :: MX -> MX -> IO MX
+casadi__MX____constpow__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX____constpow__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx___constpow__ :: MXClass a => a -> MX -> IO MX
+mx___constpow__ x = casadi__MX____constpow__ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____copysign__" c_casadi__MX____copysign__
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX____copysign__
+  :: MX -> MX -> IO MX
+casadi__MX____copysign__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX____copysign__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx___copysign__ :: MXClass a => a -> MX -> IO MX
+mx___copysign__ x = casadi__MX____copysign__ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____hash__" c_casadi__MX____hash__
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CLong
+casadi__MX____hash__
+  :: MX -> IO Int
+casadi__MX____hash__ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX____hash__ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx___hash__ :: MXClass a => a -> IO Int
+mx___hash__ x = casadi__MX____hash__ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____mldivide__" c_casadi__MX____mldivide__
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX____mldivide__
+  :: MX -> MX -> IO MX
+casadi__MX____mldivide__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX____mldivide__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx___mldivide__ :: MXClass a => a -> MX -> IO MX
+mx___mldivide__ x = casadi__MX____mldivide__ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____mrdivide__" c_casadi__MX____mrdivide__
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX____mrdivide__
+  :: MX -> MX -> IO MX
+casadi__MX____mrdivide__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX____mrdivide__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx___mrdivide__ :: MXClass a => a -> MX -> IO MX
+mx___mrdivide__ x = casadi__MX____mrdivide__ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____nonzero__" c_casadi__MX____nonzero__
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX____nonzero__
+  :: MX -> IO Bool
+casadi__MX____nonzero__ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX____nonzero__ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx___nonzero__ :: MXClass a => a -> IO Bool
+mx___nonzero__ x = casadi__MX____nonzero__ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____truediv____0" c_casadi__MX____truediv____0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX____truediv____0
+  :: MX -> MX -> IO MX
+casadi__MX____truediv____0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX____truediv____0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx___truediv____0 :: MXClass a => a -> MX -> IO MX
+mx___truediv____0 x = casadi__MX____truediv____0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX____truediv____1" c_casadi__MX____truediv____1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX____truediv____1
+  :: MX -> MX -> IO MX
+casadi__MX____truediv____1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX____truediv____1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx___truediv____1 :: MXClass a => a -> MX -> IO MX
+mx___truediv____1 x = casadi__MX____truediv____1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__addToSum" c_casadi__MX__addToSum
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
+casadi__MX__addToSum
+  :: MX -> MX -> IO ()
+casadi__MX__addToSum x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__addToSum errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_addToSum :: MXClass a => a -> MX -> IO ()
+mx_addToSum x = casadi__MX__addToSum (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__append" c_casadi__MX__append
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
+casadi__MX__append
+  :: MX -> MX -> IO ()
+casadi__MX__append x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__append errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_append :: MXClass a => a -> MX -> IO ()
+mx_append x = casadi__MX__append (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__appendColumns" c_casadi__MX__appendColumns
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
+casadi__MX__appendColumns
+  :: MX -> MX -> IO ()
+casadi__MX__appendColumns x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__appendColumns errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_appendColumns :: MXClass a => a -> MX -> IO ()
+mx_appendColumns x = casadi__MX__appendColumns (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__attachAssert__0" c_casadi__MX__attachAssert__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__attachAssert__0
+  :: MX -> MX -> IO MX
+casadi__MX__attachAssert__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__attachAssert__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_attachAssert__0 :: MXClass a => a -> MX -> IO MX
+mx_attachAssert__0 x = casadi__MX__attachAssert__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__attachAssert__1" c_casadi__MX__attachAssert__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+casadi__MX__attachAssert__1
+  :: MX -> MX -> String -> IO MX
+casadi__MX__attachAssert__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__attachAssert__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_attachAssert__1 :: MXClass a => a -> MX -> String -> IO MX
+mx_attachAssert__1 x = casadi__MX__attachAssert__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__binary" c_casadi__MX__binary
+  :: Ptr (Ptr StdString) -> CInt -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__binary
+  :: Int -> MX -> MX -> IO MX
+casadi__MX__binary x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__binary errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_binary :: Int -> MX -> MX -> IO MX
+mx_binary = casadi__MX__binary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__colind__0" c_casadi__MX__colind__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+casadi__MX__colind__0
+  :: MX -> Int -> IO Int
+casadi__MX__colind__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__colind__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_colind__0 :: MXClass a => a -> Int -> IO Int
+mx_colind__0 x = casadi__MX__colind__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__colind__1" c_casadi__MX__colind__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec CInt))
+casadi__MX__colind__1
+  :: MX -> IO (Vector Int)
+casadi__MX__colind__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__colind__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_colind__1 :: MXClass a => a -> IO (Vector Int)
+mx_colind__1 x = casadi__MX__colind__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__constpow" c_casadi__MX__constpow
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__constpow
+  :: MX -> MX -> IO MX
+casadi__MX__constpow x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__constpow errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_constpow :: MXClass a => a -> MX -> IO MX
+mx_constpow x = casadi__MX__constpow (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__dimString" c_casadi__MX__dimString
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr StdString)
+casadi__MX__dimString
+  :: MX -> IO String
+casadi__MX__dimString x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__dimString errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_dimString :: MXClass a => a -> IO String
+mx_dimString x = casadi__MX__dimString (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__enlarge__0" c_casadi__MX__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__MX__enlarge__0
+  :: MX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__MX__enlarge__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_enlarge__0 :: MXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+mx_enlarge__0 x = casadi__MX__enlarge__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__enlarge__1" c_casadi__MX__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__MX__enlarge__1
+  :: MX -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__MX__enlarge__1 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_enlarge__1 :: MXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+mx_enlarge__1 x = casadi__MX__enlarge__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__erase__0" c_casadi__MX__erase__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO ()
+casadi__MX__erase__0
+  :: MX -> Vector Int -> IO ()
+casadi__MX__erase__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__erase__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_erase__0 :: MXClass a => a -> Vector Int -> IO ()
+mx_erase__0 x = casadi__MX__erase__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__erase__1" c_casadi__MX__erase__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__MX__erase__1
+  :: MX -> Vector Int -> Bool -> IO ()
+casadi__MX__erase__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__erase__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_erase__1 :: MXClass a => a -> Vector Int -> Bool -> IO ()
+mx_erase__1 x = casadi__MX__erase__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__erase__2" c_casadi__MX__erase__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__MX__erase__2
+  :: MX -> Vector Int -> Vector Int -> IO ()
+casadi__MX__erase__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__erase__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_erase__2 :: MXClass a => a -> Vector Int -> Vector Int -> IO ()
+mx_erase__2 x = casadi__MX__erase__2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__erase__3" c_casadi__MX__erase__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__MX__erase__3
+  :: MX -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__MX__erase__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__erase__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_erase__3 :: MXClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+mx_erase__3 x = casadi__MX__erase__3 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__eye" c_casadi__MX__eye
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
+casadi__MX__eye
+  :: Int -> IO MX
+casadi__MX__eye x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__eye errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_eye :: Int -> IO MX
+mx_eye = casadi__MX__eye
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getDep__0" c_casadi__MX__getDep__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__getDep__0
+  :: MX -> IO MX
+casadi__MX__getDep__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getDep__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getDep__0 :: MXClass a => a -> IO MX
+mx_getDep__0 x = casadi__MX__getDep__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getDep__1" c_casadi__MX__getDep__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
+casadi__MX__getDep__1
+  :: MX -> Int -> IO MX
+casadi__MX__getDep__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getDep__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getDep__1 :: MXClass a => a -> Int -> IO MX
+mx_getDep__1 x = casadi__MX__getDep__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getEqualityCheckingDepth" c_casadi__MX__getEqualityCheckingDepth
+  :: Ptr (Ptr StdString) -> IO CInt
+casadi__MX__getEqualityCheckingDepth
+  :: IO Int
+casadi__MX__getEqualityCheckingDepth  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getEqualityCheckingDepth errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getEqualityCheckingDepth :: IO Int
+mx_getEqualityCheckingDepth = casadi__MX__getEqualityCheckingDepth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getEvaluationOutput" c_casadi__MX__getEvaluationOutput
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__getEvaluationOutput
+  :: MX -> IO Int
+casadi__MX__getEvaluationOutput x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getEvaluationOutput errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getEvaluationOutput :: MXClass a => a -> IO Int
+mx_getEvaluationOutput x = casadi__MX__getEvaluationOutput (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getFunction" c_casadi__MX__getFunction
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Function')
+casadi__MX__getFunction
+  :: MX -> IO Function
+casadi__MX__getFunction x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getFunction errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getFunction :: MXClass a => a -> IO Function
+mx_getFunction x = casadi__MX__getFunction (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getMatrixValue" c_casadi__MX__getMatrixValue
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr DMatrix')
+casadi__MX__getMatrixValue
+  :: MX -> IO DMatrix
+casadi__MX__getMatrixValue x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getMatrixValue errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getMatrixValue :: MXClass a => a -> IO DMatrix
+mx_getMatrixValue x = casadi__MX__getMatrixValue (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getMaxNumCallsInPrint" c_casadi__MX__getMaxNumCallsInPrint
+  :: Ptr (Ptr StdString) -> IO CLong
+casadi__MX__getMaxNumCallsInPrint
+  :: IO Int
+casadi__MX__getMaxNumCallsInPrint  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getMaxNumCallsInPrint errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getMaxNumCallsInPrint :: IO Int
+mx_getMaxNumCallsInPrint = casadi__MX__getMaxNumCallsInPrint
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getNZ__0" c_casadi__MX__getNZ__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr IMatrix' -> IO (Ptr MX')
+casadi__MX__getNZ__0
+  :: MX -> Bool -> IMatrix -> IO MX
+casadi__MX__getNZ__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getNZ__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getNZ__0 :: MXClass a => a -> Bool -> IMatrix -> IO MX
+mx_getNZ__0 x = casadi__MX__getNZ__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getNZ__1" c_casadi__MX__getNZ__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr Slice' -> IO (Ptr MX')
+casadi__MX__getNZ__1
+  :: MX -> Bool -> Slice -> IO MX
+casadi__MX__getNZ__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getNZ__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getNZ__1 :: MXClass a => a -> Bool -> Slice -> IO MX
+mx_getNZ__1 x = casadi__MX__getNZ__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getName" c_casadi__MX__getName
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr StdString)
+casadi__MX__getName
+  :: MX -> IO String
+casadi__MX__getName x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getName errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getName :: MXClass a => a -> IO String
+mx_getName x = casadi__MX__getName (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getNdeps" c_casadi__MX__getNdeps
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__getNdeps
+  :: MX -> IO Int
+casadi__MX__getNdeps x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getNdeps errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getNdeps :: MXClass a => a -> IO Int
+mx_getNdeps x = casadi__MX__getNdeps (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getNumOutputs" c_casadi__MX__getNumOutputs
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__getNumOutputs
+  :: MX -> IO Int
+casadi__MX__getNumOutputs x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getNumOutputs errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getNumOutputs :: MXClass a => a -> IO Int
+mx_getNumOutputs x = casadi__MX__getNumOutputs (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getOp" c_casadi__MX__getOp
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__getOp
+  :: MX -> IO Int
+casadi__MX__getOp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getOp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getOp :: MXClass a => a -> IO Int
+mx_getOp x = casadi__MX__getOp (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getOutput__0" c_casadi__MX__getOutput__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__getOutput__0
+  :: MX -> IO MX
+casadi__MX__getOutput__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getOutput__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getOutput__0 :: MXClass a => a -> IO MX
+mx_getOutput__0 x = casadi__MX__getOutput__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getOutput__1" c_casadi__MX__getOutput__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
+casadi__MX__getOutput__1
+  :: MX -> Int -> IO MX
+casadi__MX__getOutput__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getOutput__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getOutput__1 :: MXClass a => a -> Int -> IO MX
+mx_getOutput__1 x = casadi__MX__getOutput__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getSub__0" c_casadi__MX__getSub__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr MX')
+casadi__MX__getSub__0
+  :: MX -> Bool -> IMatrix -> IMatrix -> IO MX
+casadi__MX__getSub__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getSub__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getSub__0 :: MXClass a => a -> Bool -> IMatrix -> IMatrix -> IO MX
+mx_getSub__0 x = casadi__MX__getSub__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getSub__1" c_casadi__MX__getSub__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr MX')
+casadi__MX__getSub__1
+  :: MX -> Bool -> IMatrix -> Slice -> IO MX
+casadi__MX__getSub__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getSub__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getSub__1 :: MXClass a => a -> Bool -> IMatrix -> Slice -> IO MX
+mx_getSub__1 x = casadi__MX__getSub__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getSub__2" c_casadi__MX__getSub__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr MX')
+casadi__MX__getSub__2
+  :: MX -> Bool -> Slice -> IMatrix -> IO MX
+casadi__MX__getSub__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getSub__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getSub__2 :: MXClass a => a -> Bool -> Slice -> IMatrix -> IO MX
+mx_getSub__2 x = casadi__MX__getSub__2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getSub__3" c_casadi__MX__getSub__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO (Ptr MX')
+casadi__MX__getSub__3
+  :: MX -> Bool -> Slice -> Slice -> IO MX
+casadi__MX__getSub__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getSub__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getSub__3 :: MXClass a => a -> Bool -> Slice -> Slice -> IO MX
+mx_getSub__3 x = casadi__MX__getSub__3 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getSub__4" c_casadi__MX__getSub__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__getSub__4
+  :: MX -> Bool -> Sparsity -> IO MX
+casadi__MX__getSub__4 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getSub__4 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getSub__4 :: MXClass a => a -> Bool -> Sparsity -> IO MX
+mx_getSub__4 x = casadi__MX__getSub__4 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getSub__5" c_casadi__MX__getSub__5
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr IMatrix' -> IO (Ptr MX')
+casadi__MX__getSub__5
+  :: MX -> Bool -> IMatrix -> IO MX
+casadi__MX__getSub__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getSub__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getSub__5 :: MXClass a => a -> Bool -> IMatrix -> IO MX
+mx_getSub__5 x = casadi__MX__getSub__5 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getSub__6" c_casadi__MX__getSub__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> Ptr Slice' -> IO (Ptr MX')
+casadi__MX__getSub__6
+  :: MX -> Bool -> Slice -> IO MX
+casadi__MX__getSub__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getSub__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getSub__6 :: MXClass a => a -> Bool -> Slice -> IO MX
+mx_getSub__6 x = casadi__MX__getSub__6 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getTemp" c_casadi__MX__getTemp
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__getTemp
+  :: MX -> IO Int
+casadi__MX__getTemp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getTemp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getTemp :: MXClass a => a -> IO Int
+mx_getTemp x = casadi__MX__getTemp (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__getValue" c_casadi__MX__getValue
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CDouble
+casadi__MX__getValue
+  :: MX -> IO Double
+casadi__MX__getValue x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__getValue errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_getValue :: MXClass a => a -> IO Double
+mx_getValue x = casadi__MX__getValue (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__0" c_casadi__MX__inf__0
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+casadi__MX__inf__0
+  :: IO MX
+casadi__MX__inf__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__inf__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_inf__0 :: IO MX
+mx_inf__0 = casadi__MX__inf__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__1" c_casadi__MX__inf__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
+casadi__MX__inf__1
+  :: Int -> IO MX
+casadi__MX__inf__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__inf__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_inf__1 :: Int -> IO MX
+mx_inf__1 = casadi__MX__inf__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__2" c_casadi__MX__inf__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__inf__2
+  :: Int -> Int -> IO MX
+casadi__MX__inf__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__inf__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_inf__2 :: Int -> Int -> IO MX
+mx_inf__2 = casadi__MX__inf__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__inf__3" c_casadi__MX__inf__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__inf__3
+  :: Sparsity -> IO MX
+casadi__MX__inf__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__inf__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_inf__3 :: Sparsity -> IO MX
+mx_inf__3 = casadi__MX__inf__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isBinary" c_casadi__MX__isBinary
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isBinary
+  :: MX -> IO Bool
+casadi__MX__isBinary x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isBinary errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isBinary :: MXClass a => a -> IO Bool
+mx_isBinary x = casadi__MX__isBinary (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isCommutative" c_casadi__MX__isCommutative
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isCommutative
+  :: MX -> IO Bool
+casadi__MX__isCommutative x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isCommutative errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isCommutative :: MXClass a => a -> IO Bool
+mx_isCommutative x = casadi__MX__isCommutative (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isConstant" c_casadi__MX__isConstant
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isConstant
+  :: MX -> IO Bool
+casadi__MX__isConstant x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isConstant errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isConstant :: MXClass a => a -> IO Bool
+mx_isConstant x = casadi__MX__isConstant (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isDense" c_casadi__MX__isDense
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isDense
+  :: MX -> IO Bool
+casadi__MX__isDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isDense :: MXClass a => a -> IO Bool
+mx_isDense x = casadi__MX__isDense (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isEmpty__0" c_casadi__MX__isEmpty__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isEmpty__0
+  :: MX -> IO Bool
+casadi__MX__isEmpty__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isEmpty__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isEmpty__0 :: MXClass a => a -> IO Bool
+mx_isEmpty__0 x = casadi__MX__isEmpty__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isEmpty__1" c_casadi__MX__isEmpty__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+casadi__MX__isEmpty__1
+  :: MX -> Bool -> IO Bool
+casadi__MX__isEmpty__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isEmpty__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isEmpty__1 :: MXClass a => a -> Bool -> IO Bool
+mx_isEmpty__1 x = casadi__MX__isEmpty__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isEvaluation" c_casadi__MX__isEvaluation
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isEvaluation
+  :: MX -> IO Bool
+casadi__MX__isEvaluation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isEvaluation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isEvaluation :: MXClass a => a -> IO Bool
+mx_isEvaluation x = casadi__MX__isEvaluation (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isEvaluationOutput" c_casadi__MX__isEvaluationOutput
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isEvaluationOutput
+  :: MX -> IO Bool
+casadi__MX__isEvaluationOutput x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isEvaluationOutput errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isEvaluationOutput :: MXClass a => a -> IO Bool
+mx_isEvaluationOutput x = casadi__MX__isEvaluationOutput (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isIdentity" c_casadi__MX__isIdentity
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isIdentity
+  :: MX -> IO Bool
+casadi__MX__isIdentity x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isIdentity errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isIdentity :: MXClass a => a -> IO Bool
+mx_isIdentity x = casadi__MX__isIdentity (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isMinusOne" c_casadi__MX__isMinusOne
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isMinusOne
+  :: MX -> IO Bool
+casadi__MX__isMinusOne x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isMinusOne errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isMinusOne :: MXClass a => a -> IO Bool
+mx_isMinusOne x = casadi__MX__isMinusOne (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isMultiplication" c_casadi__MX__isMultiplication
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isMultiplication
+  :: MX -> IO Bool
+casadi__MX__isMultiplication x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isMultiplication errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isMultiplication :: MXClass a => a -> IO Bool
+mx_isMultiplication x = casadi__MX__isMultiplication (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isNorm" c_casadi__MX__isNorm
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isNorm
+  :: MX -> IO Bool
+casadi__MX__isNorm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isNorm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isNorm :: MXClass a => a -> IO Bool
+mx_isNorm x = casadi__MX__isNorm (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isOne" c_casadi__MX__isOne
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isOne
+  :: MX -> IO Bool
+casadi__MX__isOne x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isOne errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isOne :: MXClass a => a -> IO Bool
+mx_isOne x = casadi__MX__isOne (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isOperation" c_casadi__MX__isOperation
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+casadi__MX__isOperation
+  :: MX -> Int -> IO Bool
+casadi__MX__isOperation x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isOperation errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isOperation :: MXClass a => a -> Int -> IO Bool
+mx_isOperation x = casadi__MX__isOperation (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isRegular" c_casadi__MX__isRegular
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isRegular
+  :: MX -> IO Bool
+casadi__MX__isRegular x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isRegular errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isRegular :: MXClass a => a -> IO Bool
+mx_isRegular x = casadi__MX__isRegular (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isScalar__0" c_casadi__MX__isScalar__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isScalar__0
+  :: MX -> IO Bool
+casadi__MX__isScalar__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isScalar__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isScalar__0 :: MXClass a => a -> IO Bool
+mx_isScalar__0 x = casadi__MX__isScalar__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isScalar__1" c_casadi__MX__isScalar__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+casadi__MX__isScalar__1
+  :: MX -> Bool -> IO Bool
+casadi__MX__isScalar__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isScalar__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isScalar__1 :: MXClass a => a -> Bool -> IO Bool
+mx_isScalar__1 x = casadi__MX__isScalar__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isSquare" c_casadi__MX__isSquare
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isSquare
+  :: MX -> IO Bool
+casadi__MX__isSquare x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isSquare errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isSquare :: MXClass a => a -> IO Bool
+mx_isSquare x = casadi__MX__isSquare (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isSymbolic" c_casadi__MX__isSymbolic
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isSymbolic
+  :: MX -> IO Bool
+casadi__MX__isSymbolic x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isSymbolic errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isSymbolic :: MXClass a => a -> IO Bool
+mx_isSymbolic x = casadi__MX__isSymbolic (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isSymbolicSparse" c_casadi__MX__isSymbolicSparse
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isSymbolicSparse
+  :: MX -> IO Bool
+casadi__MX__isSymbolicSparse x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isSymbolicSparse errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isSymbolicSparse :: MXClass a => a -> IO Bool
+mx_isSymbolicSparse x = casadi__MX__isSymbolicSparse (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isTranspose" c_casadi__MX__isTranspose
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isTranspose
+  :: MX -> IO Bool
+casadi__MX__isTranspose x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isTranspose errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isTranspose :: MXClass a => a -> IO Bool
+mx_isTranspose x = casadi__MX__isTranspose (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isTril" c_casadi__MX__isTril
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isTril
+  :: MX -> IO Bool
+casadi__MX__isTril x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isTril errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isTril :: MXClass a => a -> IO Bool
+mx_isTril x = casadi__MX__isTril (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isTriu" c_casadi__MX__isTriu
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isTriu
+  :: MX -> IO Bool
+casadi__MX__isTriu x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isTriu errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isTriu :: MXClass a => a -> IO Bool
+mx_isTriu x = casadi__MX__isTriu (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isUnary" c_casadi__MX__isUnary
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isUnary
+  :: MX -> IO Bool
+casadi__MX__isUnary x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isUnary errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isUnary :: MXClass a => a -> IO Bool
+mx_isUnary x = casadi__MX__isUnary (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isVector" c_casadi__MX__isVector
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isVector
+  :: MX -> IO Bool
+casadi__MX__isVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isVector :: MXClass a => a -> IO Bool
+mx_isVector x = casadi__MX__isVector (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__isZero" c_casadi__MX__isZero
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__isZero
+  :: MX -> IO Bool
+casadi__MX__isZero x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__isZero errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_isZero :: MXClass a => a -> IO Bool
+mx_isZero x = casadi__MX__isZero (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__lift" c_casadi__MX__lift
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
+casadi__MX__lift
+  :: MX -> MX -> IO ()
+casadi__MX__lift x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__lift errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_lift :: MXClass a => a -> MX -> IO ()
+mx_lift x = casadi__MX__lift (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__makeDense__0" c_casadi__MX__makeDense__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
+casadi__MX__makeDense__0
+  :: MX -> IO ()
+casadi__MX__makeDense__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__makeDense__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_makeDense__0 :: MXClass a => a -> IO ()
+mx_makeDense__0 x = casadi__MX__makeDense__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__makeDense__1" c_casadi__MX__makeDense__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO ()
+casadi__MX__makeDense__1
+  :: MX -> MX -> IO ()
+casadi__MX__makeDense__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__makeDense__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_makeDense__1 :: MXClass a => a -> MX -> IO ()
+mx_makeDense__1 x = casadi__MX__makeDense__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__mapping" c_casadi__MX__mapping
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr IMatrix')
+casadi__MX__mapping
+  :: MX -> IO IMatrix
+casadi__MX__mapping x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__mapping errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_mapping :: MXClass a => a -> IO IMatrix
+mx_mapping x = casadi__MX__mapping (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__0" c_casadi__MX__nan__0
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+casadi__MX__nan__0
+  :: IO MX
+casadi__MX__nan__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__nan__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_nan__0 :: IO MX
+mx_nan__0 = casadi__MX__nan__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__1" c_casadi__MX__nan__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
+casadi__MX__nan__1
+  :: Int -> IO MX
+casadi__MX__nan__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__nan__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_nan__1 :: Int -> IO MX
+mx_nan__1 = casadi__MX__nan__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__2" c_casadi__MX__nan__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__nan__2
+  :: Int -> Int -> IO MX
+casadi__MX__nan__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__nan__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_nan__2 :: Int -> Int -> IO MX
+mx_nan__2 = casadi__MX__nan__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__nan__3" c_casadi__MX__nan__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__nan__3
+  :: Sparsity -> IO MX
+casadi__MX__nan__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__nan__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_nan__3 :: Sparsity -> IO MX
+mx_nan__3 = casadi__MX__nan__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__numel__0" c_casadi__MX__numel__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+casadi__MX__numel__0
+  :: MX -> Int -> IO Int
+casadi__MX__numel__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__numel__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_numel__0 :: MXClass a => a -> Int -> IO Int
+mx_numel__0 x = casadi__MX__numel__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__numel__1" c_casadi__MX__numel__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__numel__1
+  :: MX -> IO Int
+casadi__MX__numel__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__numel__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_numel__1 :: MXClass a => a -> IO Int
+mx_numel__1 x = casadi__MX__numel__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__0" c_casadi__MX__ones__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__ones__0
+  :: Sparsity -> IO MX
+casadi__MX__ones__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__ones__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_ones__0 :: Sparsity -> IO MX
+mx_ones__0 = casadi__MX__ones__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__1" c_casadi__MX__ones__1
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+casadi__MX__ones__1
+  :: IO MX
+casadi__MX__ones__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__ones__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_ones__1 :: IO MX
+mx_ones__1 = casadi__MX__ones__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__2" c_casadi__MX__ones__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
+casadi__MX__ones__2
+  :: Int -> IO MX
+casadi__MX__ones__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__ones__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_ones__2 :: Int -> IO MX
+mx_ones__2 = casadi__MX__ones__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__ones__3" c_casadi__MX__ones__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__ones__3
+  :: Int -> Int -> IO MX
+casadi__MX__ones__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__ones__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_ones__3 :: Int -> Int -> IO MX
+mx_ones__3 = casadi__MX__ones__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__printme" c_casadi__MX__printme
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__printme
+  :: MX -> MX -> IO MX
+casadi__MX__printme x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__printme errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_printme :: MXClass a => a -> MX -> IO MX
+mx_printme x = casadi__MX__printme (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__repmat__0" c_casadi__MX__repmat__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
+casadi__MX__repmat__0
+  :: MX -> Int -> IO MX
+casadi__MX__repmat__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__repmat__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_repmat__0 :: MX -> Int -> IO MX
+mx_repmat__0 = casadi__MX__repmat__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__repmat__1" c_casadi__MX__repmat__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__repmat__1
+  :: MX -> Int -> Int -> IO MX
+casadi__MX__repmat__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__repmat__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_repmat__1 :: MX -> Int -> Int -> IO MX
+mx_repmat__1 = casadi__MX__repmat__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__repmat__2" c_casadi__MX__repmat__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__repmat__2
+  :: MX -> Sparsity -> IO MX
+casadi__MX__repmat__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__repmat__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_repmat__2 :: MX -> Sparsity -> IO MX
+mx_repmat__2 = casadi__MX__repmat__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__row__0" c_casadi__MX__row__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+casadi__MX__row__0
+  :: MX -> Int -> IO Int
+casadi__MX__row__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__row__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_row__0 :: MXClass a => a -> Int -> IO Int
+mx_row__0 x = casadi__MX__row__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__row__1" c_casadi__MX__row__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec CInt))
+casadi__MX__row__1
+  :: MX -> IO (Vector Int)
+casadi__MX__row__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__row__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_row__1 :: MXClass a => a -> IO (Vector Int)
+mx_row__1 x = casadi__MX__row__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setEqualityCheckingDepth__0" c_casadi__MX__setEqualityCheckingDepth__0
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__MX__setEqualityCheckingDepth__0
+  :: IO ()
+casadi__MX__setEqualityCheckingDepth__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setEqualityCheckingDepth__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setEqualityCheckingDepth__0 :: IO ()
+mx_setEqualityCheckingDepth__0 = casadi__MX__setEqualityCheckingDepth__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setEqualityCheckingDepth__1" c_casadi__MX__setEqualityCheckingDepth__1
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__MX__setEqualityCheckingDepth__1
+  :: Int -> IO ()
+casadi__MX__setEqualityCheckingDepth__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setEqualityCheckingDepth__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setEqualityCheckingDepth__1 :: Int -> IO ()
+mx_setEqualityCheckingDepth__1 = casadi__MX__setEqualityCheckingDepth__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setMaxNumCallsInPrint__0" c_casadi__MX__setMaxNumCallsInPrint__0
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__MX__setMaxNumCallsInPrint__0
+  :: IO ()
+casadi__MX__setMaxNumCallsInPrint__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setMaxNumCallsInPrint__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setMaxNumCallsInPrint__0 :: IO ()
+mx_setMaxNumCallsInPrint__0 = casadi__MX__setMaxNumCallsInPrint__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setMaxNumCallsInPrint__1" c_casadi__MX__setMaxNumCallsInPrint__1
+  :: Ptr (Ptr StdString) -> CLong -> IO ()
+casadi__MX__setMaxNumCallsInPrint__1
+  :: Int -> IO ()
+casadi__MX__setMaxNumCallsInPrint__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setMaxNumCallsInPrint__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setMaxNumCallsInPrint__1 :: Int -> IO ()
+mx_setMaxNumCallsInPrint__1 = casadi__MX__setMaxNumCallsInPrint__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setNZ__0" c_casadi__MX__setNZ__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IMatrix' -> IO ()
+casadi__MX__setNZ__0
+  :: MX -> MX -> Bool -> IMatrix -> IO ()
+casadi__MX__setNZ__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setNZ__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setNZ__0 :: MXClass a => a -> MX -> Bool -> IMatrix -> IO ()
+mx_setNZ__0 x = casadi__MX__setNZ__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setNZ__1" c_casadi__MX__setNZ__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> IO ()
+casadi__MX__setNZ__1
+  :: MX -> MX -> Bool -> Slice -> IO ()
+casadi__MX__setNZ__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setNZ__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setNZ__1 :: MXClass a => a -> MX -> Bool -> Slice -> IO ()
+mx_setNZ__1 x = casadi__MX__setNZ__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSparse__0" c_casadi__MX__setSparse__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__setSparse__0
+  :: MX -> Sparsity -> IO MX
+casadi__MX__setSparse__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSparse__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSparse__0 :: MXClass a => a -> Sparsity -> IO MX
+mx_setSparse__0 x = casadi__MX__setSparse__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSparse__1" c_casadi__MX__setSparse__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> CInt -> IO (Ptr MX')
+casadi__MX__setSparse__1
+  :: MX -> Sparsity -> Bool -> IO MX
+casadi__MX__setSparse__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSparse__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSparse__1 :: MXClass a => a -> Sparsity -> Bool -> IO MX
+mx_setSparse__1 x = casadi__MX__setSparse__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSub__0" c_casadi__MX__setSub__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__MX__setSub__0
+  :: MX -> MX -> Bool -> IMatrix -> IMatrix -> IO ()
+casadi__MX__setSub__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSub__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSub__0 :: MXClass a => a -> MX -> Bool -> IMatrix -> IMatrix -> IO ()
+mx_setSub__0 x = casadi__MX__setSub__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSub__1" c_casadi__MX__setSub__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IMatrix' -> Ptr Slice' -> IO ()
+casadi__MX__setSub__1
+  :: MX -> MX -> Bool -> IMatrix -> Slice -> IO ()
+casadi__MX__setSub__1 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSub__1 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSub__1 :: MXClass a => a -> MX -> Bool -> IMatrix -> Slice -> IO ()
+mx_setSub__1 x = casadi__MX__setSub__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSub__2" c_casadi__MX__setSub__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> Ptr IMatrix' -> IO ()
+casadi__MX__setSub__2
+  :: MX -> MX -> Bool -> Slice -> IMatrix -> IO ()
+casadi__MX__setSub__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSub__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSub__2 :: MXClass a => a -> MX -> Bool -> Slice -> IMatrix -> IO ()
+mx_setSub__2 x = casadi__MX__setSub__2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSub__3" c_casadi__MX__setSub__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+casadi__MX__setSub__3
+  :: MX -> MX -> Bool -> Slice -> Slice -> IO ()
+casadi__MX__setSub__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSub__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSub__3 :: MXClass a => a -> MX -> Bool -> Slice -> Slice -> IO ()
+mx_setSub__3 x = casadi__MX__setSub__3 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSub__4" c_casadi__MX__setSub__4
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Sparsity' -> IO ()
+casadi__MX__setSub__4
+  :: MX -> MX -> Bool -> Sparsity -> IO ()
+casadi__MX__setSub__4 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSub__4 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSub__4 :: MXClass a => a -> MX -> Bool -> Sparsity -> IO ()
+mx_setSub__4 x = casadi__MX__setSub__4 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSub__5" c_casadi__MX__setSub__5
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr IMatrix' -> IO ()
+casadi__MX__setSub__5
+  :: MX -> MX -> Bool -> IMatrix -> IO ()
+casadi__MX__setSub__5 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSub__5 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSub__5 :: MXClass a => a -> MX -> Bool -> IMatrix -> IO ()
+mx_setSub__5 x = casadi__MX__setSub__5 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setSub__6" c_casadi__MX__setSub__6
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> Ptr Slice' -> IO ()
+casadi__MX__setSub__6
+  :: MX -> MX -> Bool -> Slice -> IO ()
+casadi__MX__setSub__6 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setSub__6 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setSub__6 :: MXClass a => a -> MX -> Bool -> Slice -> IO ()
+mx_setSub__6 x = casadi__MX__setSub__6 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__setTemp" c_casadi__MX__setTemp
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO ()
+casadi__MX__setTemp
+  :: MX -> Int -> IO ()
+casadi__MX__setTemp x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__setTemp errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_setTemp :: MXClass a => a -> Int -> IO ()
+mx_setTemp x = casadi__MX__setTemp (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__size__0" c_casadi__MX__size__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO CInt
+casadi__MX__size__0
+  :: MX -> SparsityType -> IO Int
+casadi__MX__size__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__size__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_size__0 :: MXClass a => a -> SparsityType -> IO Int
+mx_size__0 x = casadi__MX__size__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__size__1" c_casadi__MX__size__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__size__1
+  :: MX -> IO Int
+casadi__MX__size__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__size__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_size__1 :: MXClass a => a -> IO Int
+mx_size__1 x = casadi__MX__size__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__size1" c_casadi__MX__size1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__size1
+  :: MX -> IO Int
+casadi__MX__size1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__size1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_size1 :: MXClass a => a -> IO Int
+mx_size1 x = casadi__MX__size1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__size2" c_casadi__MX__size2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__size2
+  :: MX -> IO Int
+casadi__MX__size2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__size2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_size2 :: MXClass a => a -> IO Int
+mx_size2 x = casadi__MX__size2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sizeD" c_casadi__MX__sizeD
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__sizeD
+  :: MX -> IO Int
+casadi__MX__sizeD x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sizeD errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sizeD :: MXClass a => a -> IO Int
+mx_sizeD x = casadi__MX__sizeD (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sizeL" c_casadi__MX__sizeL
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__sizeL
+  :: MX -> IO Int
+casadi__MX__sizeL x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sizeL errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sizeL :: MXClass a => a -> IO Int
+mx_sizeL x = casadi__MX__sizeL (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sizeU" c_casadi__MX__sizeU
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__sizeU
+  :: MX -> IO Int
+casadi__MX__sizeU x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sizeU errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sizeU :: MXClass a => a -> IO Int
+mx_sizeU x = casadi__MX__sizeU (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparse__0" c_casadi__MX__sparse__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__sparse__0
+  :: Sparsity -> MX -> IO MX
+casadi__MX__sparse__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sparse__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sparse__0 :: Sparsity -> MX -> IO MX
+mx_sparse__0 = casadi__MX__sparse__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparse__1" c_casadi__MX__sparse__1
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+casadi__MX__sparse__1
+  :: IO MX
+casadi__MX__sparse__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sparse__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sparse__1 :: IO MX
+mx_sparse__1 = casadi__MX__sparse__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparse__2" c_casadi__MX__sparse__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
+casadi__MX__sparse__2
+  :: Int -> IO MX
+casadi__MX__sparse__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sparse__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sparse__2 :: Int -> IO MX
+mx_sparse__2 = casadi__MX__sparse__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparse__3" c_casadi__MX__sparse__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__sparse__3
+  :: Int -> Int -> IO MX
+casadi__MX__sparse__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sparse__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sparse__3 :: Int -> Int -> IO MX
+mx_sparse__3 = casadi__MX__sparse__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparsity__0" c_casadi__MX__sparsity__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
+casadi__MX__sparsity__0
+  :: MX -> IO Sparsity
+casadi__MX__sparsity__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sparsity__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sparsity__0 :: MXClass a => a -> IO Sparsity
+mx_sparsity__0 x = casadi__MX__sparsity__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparsity__1" c_casadi__MX__sparsity__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
+casadi__MX__sparsity__1
+  :: MX -> IO Sparsity
+casadi__MX__sparsity__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sparsity__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sparsity__1 :: MXClass a => a -> IO Sparsity
+mx_sparsity__1 x = casadi__MX__sparsity__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparsityRef__0" c_casadi__MX__sparsityRef__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
+casadi__MX__sparsityRef__0
+  :: MX -> IO Sparsity
+casadi__MX__sparsityRef__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sparsityRef__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sparsityRef__0 :: MXClass a => a -> IO Sparsity
+mx_sparsityRef__0 x = casadi__MX__sparsityRef__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sparsityRef__1" c_casadi__MX__sparsityRef__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr Sparsity')
+casadi__MX__sparsityRef__1
+  :: MX -> IO Sparsity
+casadi__MX__sparsityRef__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sparsityRef__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sparsityRef__1 :: MXClass a => a -> IO Sparsity
+mx_sparsityRef__1 x = casadi__MX__sparsityRef__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__0" c_casadi__MX__sym__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+casadi__MX__sym__0
+  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
+casadi__MX__sym__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sym__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
+mx_sym__0 = casadi__MX__sym__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__1" c_casadi__MX__sym__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+casadi__MX__sym__1
+  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
+casadi__MX__sym__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sym__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
+mx_sym__1 = casadi__MX__sym__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__2" c_casadi__MX__sym__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__sym__2
+  :: String -> Int -> Int -> Int -> IO (Vector MX)
+casadi__MX__sym__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sym__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sym__2 :: String -> Int -> Int -> Int -> IO (Vector MX)
+mx_sym__2 = casadi__MX__sym__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__3" c_casadi__MX__sym__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__sym__3
+  :: String -> Sparsity -> Int -> IO (Vector MX)
+casadi__MX__sym__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sym__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sym__3 :: String -> Sparsity -> Int -> IO (Vector MX)
+mx_sym__3 = casadi__MX__sym__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__4" c_casadi__MX__sym__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__sym__4
+  :: String -> Sparsity -> IO MX
+casadi__MX__sym__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sym__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sym__4 :: String -> Sparsity -> IO MX
+mx_sym__4 = casadi__MX__sym__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__5" c_casadi__MX__sym__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr MX')
+casadi__MX__sym__5
+  :: String -> IO MX
+casadi__MX__sym__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sym__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sym__5 :: String -> IO MX
+mx_sym__5 = casadi__MX__sym__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__6" c_casadi__MX__sym__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr MX')
+casadi__MX__sym__6
+  :: String -> Int -> IO MX
+casadi__MX__sym__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sym__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sym__6 :: String -> Int -> IO MX
+mx_sym__6 = casadi__MX__sym__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__sym__7" c_casadi__MX__sym__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__sym__7
+  :: String -> Int -> Int -> IO MX
+casadi__MX__sym__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__sym__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_sym__7 :: String -> Int -> Int -> IO MX
+mx_sym__7 = casadi__MX__sym__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__unary" c_casadi__MX__unary
+  :: Ptr (Ptr StdString) -> CInt -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__unary
+  :: Int -> MX -> IO MX
+casadi__MX__unary x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__unary errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_unary :: Int -> MX -> IO MX
+mx_unary = casadi__MX__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__0" c_casadi__MX__zeros__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__zeros__0
+  :: Sparsity -> IO MX
+casadi__MX__zeros__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zeros__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zeros__0 :: Sparsity -> IO MX
+mx_zeros__0 = casadi__MX__zeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__1" c_casadi__MX__zeros__1
+  :: Ptr (Ptr StdString) -> IO (Ptr MX')
+casadi__MX__zeros__1
+  :: IO MX
+casadi__MX__zeros__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zeros__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zeros__1 :: IO MX
+mx_zeros__1 = casadi__MX__zeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__2" c_casadi__MX__zeros__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr MX')
+casadi__MX__zeros__2
+  :: Int -> IO MX
+casadi__MX__zeros__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zeros__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zeros__2 :: Int -> IO MX
+mx_zeros__2 = casadi__MX__zeros__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zeros__3" c_casadi__MX__zeros__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__zeros__3
+  :: Int -> Int -> IO MX
+casadi__MX__zeros__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zeros__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zeros__3 :: Int -> Int -> IO MX
+mx_zeros__3 = casadi__MX__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_abs" c_casadi__MX__zz_abs
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_abs
+  :: MX -> IO MX
+casadi__MX__zz_abs x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_abs errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_abs :: MXClass a => a -> IO MX
+mx_zz_abs x = casadi__MX__zz_abs (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_acos" c_casadi__MX__zz_acos
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_acos
+  :: MX -> IO MX
+casadi__MX__zz_acos x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_acos errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_acos :: MXClass a => a -> IO MX
+mx_zz_acos x = casadi__MX__zz_acos (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_acosh" c_casadi__MX__zz_acosh
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_acosh
+  :: MX -> IO MX
+casadi__MX__zz_acosh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_acosh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_acosh :: MXClass a => a -> IO MX
+mx_zz_acosh x = casadi__MX__zz_acosh (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_and" c_casadi__MX__zz_and
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_and
+  :: MX -> MX -> IO MX
+casadi__MX__zz_and x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_and errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_and :: MXClass a => a -> MX -> IO MX
+mx_zz_and x = casadi__MX__zz_and (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_asin" c_casadi__MX__zz_asin
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_asin
+  :: MX -> IO MX
+casadi__MX__zz_asin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_asin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_asin :: MXClass a => a -> IO MX
+mx_zz_asin x = casadi__MX__zz_asin (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_asinh" c_casadi__MX__zz_asinh
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_asinh
+  :: MX -> IO MX
+casadi__MX__zz_asinh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_asinh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_asinh :: MXClass a => a -> IO MX
+mx_zz_asinh x = casadi__MX__zz_asinh (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_atan" c_casadi__MX__zz_atan
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_atan
+  :: MX -> IO MX
+casadi__MX__zz_atan x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_atan errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_atan :: MXClass a => a -> IO MX
+mx_zz_atan x = casadi__MX__zz_atan (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_atan2" c_casadi__MX__zz_atan2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_atan2
+  :: MX -> MX -> IO MX
+casadi__MX__zz_atan2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_atan2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_atan2 :: MXClass a => a -> MX -> IO MX
+mx_zz_atan2 x = casadi__MX__zz_atan2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_atanh" c_casadi__MX__zz_atanh
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_atanh
+  :: MX -> IO MX
+casadi__MX__zz_atanh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_atanh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_atanh :: MXClass a => a -> IO MX
+mx_zz_atanh x = casadi__MX__zz_atanh (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_blockcat" c_casadi__MX__zz_blockcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> IO (Ptr MX')
+casadi__MX__zz_blockcat
+  :: Vector (Vector MX) -> IO MX
+casadi__MX__zz_blockcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_blockcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_blockcat :: Vector (Vector MX) -> IO MX
+mx_zz_blockcat = casadi__MX__zz_blockcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_blocksplit" c_casadi__MX__zz_blocksplit
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
+casadi__MX__zz_blocksplit
+  :: MX -> Vector Int -> Vector Int -> IO (Vector (Vector MX))
+casadi__MX__zz_blocksplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_blocksplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_blocksplit :: MXClass a => a -> Vector Int -> Vector Int -> IO (Vector (Vector MX))
+mx_zz_blocksplit x = casadi__MX__zz_blocksplit (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_ceil" c_casadi__MX__zz_ceil
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_ceil
+  :: MX -> IO MX
+casadi__MX__zz_ceil x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_ceil errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_ceil :: MXClass a => a -> IO MX
+mx_zz_ceil x = casadi__MX__zz_ceil (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_cos" c_casadi__MX__zz_cos
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_cos
+  :: MX -> IO MX
+casadi__MX__zz_cos x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_cos errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_cos :: MXClass a => a -> IO MX
+mx_zz_cos x = casadi__MX__zz_cos (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_cosh" c_casadi__MX__zz_cosh
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_cosh
+  :: MX -> IO MX
+casadi__MX__zz_cosh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_cosh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_cosh :: MXClass a => a -> IO MX
+mx_zz_cosh x = casadi__MX__zz_cosh (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_countNodes" c_casadi__MX__zz_countNodes
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__zz_countNodes
+  :: MX -> IO Int
+casadi__MX__zz_countNodes x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_countNodes errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_countNodes :: MXClass a => a -> IO Int
+mx_zz_countNodes x = casadi__MX__zz_countNodes (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_createParent__0" c_casadi__MX__zz_createParent__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_createParent__0
+  :: Vector MX -> Vector MX -> IO MX
+casadi__MX__zz_createParent__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_createParent__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_createParent__0 :: Vector MX -> Vector MX -> IO MX
+mx_zz_createParent__0 = casadi__MX__zz_createParent__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_createParent__1" c_casadi__MX__zz_createParent__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_createParent__1
+  :: Vector Sparsity -> Vector MX -> IO MX
+casadi__MX__zz_createParent__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_createParent__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_createParent__1 :: Vector Sparsity -> Vector MX -> IO MX
+mx_zz_createParent__1 = casadi__MX__zz_createParent__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_createParent__2" c_casadi__MX__zz_createParent__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_createParent__2
+  :: Vector MX -> IO MX
+casadi__MX__zz_createParent__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_createParent__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_createParent__2 :: Vector MX -> IO MX
+mx_zz_createParent__2 = casadi__MX__zz_createParent__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_cross__0" c_casadi__MX__zz_cross__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_cross__0
+  :: MX -> MX -> IO MX
+casadi__MX__zz_cross__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_cross__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_cross__0 :: MXClass a => a -> MX -> IO MX
+mx_zz_cross__0 x = casadi__MX__zz_cross__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_cross__1" c_casadi__MX__zz_cross__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
+casadi__MX__zz_cross__1
+  :: MX -> MX -> Int -> IO MX
+casadi__MX__zz_cross__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_cross__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_cross__1 :: MXClass a => a -> MX -> Int -> IO MX
+mx_zz_cross__1 x = casadi__MX__zz_cross__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_dense" c_casadi__MX__zz_dense
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_dense
+  :: MX -> IO MX
+casadi__MX__zz_dense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_dense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_dense :: MXClass a => a -> IO MX
+mx_zz_dense x = casadi__MX__zz_dense (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_dependsOn" c_casadi__MX__zz_dependsOn
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO CInt
+casadi__MX__zz_dependsOn
+  :: MX -> Vector MX -> IO Bool
+casadi__MX__zz_dependsOn x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_dependsOn errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_dependsOn :: MXClass a => a -> Vector MX -> IO Bool
+mx_zz_dependsOn x = casadi__MX__zz_dependsOn (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_det" c_casadi__MX__zz_det
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_det
+  :: MX -> IO MX
+casadi__MX__zz_det x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_det errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_det :: MXClass a => a -> IO MX
+mx_zz_det x = casadi__MX__zz_det (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_diag" c_casadi__MX__zz_diag
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_diag
+  :: MX -> IO MX
+casadi__MX__zz_diag x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_diag errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_diag :: MXClass a => a -> IO MX
+mx_zz_diag x = casadi__MX__zz_diag (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_diagcat" c_casadi__MX__zz_diagcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_diagcat
+  :: Vector MX -> IO MX
+casadi__MX__zz_diagcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_diagcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_diagcat :: Vector MX -> IO MX
+mx_zz_diagcat = casadi__MX__zz_diagcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_diagsplit" c_casadi__MX__zz_diagsplit
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_diagsplit
+  :: MX -> Vector Int -> Vector Int -> IO (Vector MX)
+casadi__MX__zz_diagsplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_diagsplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_diagsplit :: MXClass a => a -> Vector Int -> Vector Int -> IO (Vector MX)
+mx_zz_diagsplit x = casadi__MX__zz_diagsplit (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_eq" c_casadi__MX__zz_eq
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_eq
+  :: MX -> MX -> IO MX
+casadi__MX__zz_eq x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_eq errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_eq :: MXClass a => a -> MX -> IO MX
+mx_zz_eq x = casadi__MX__zz_eq (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_erf" c_casadi__MX__zz_erf
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_erf
+  :: MX -> IO MX
+casadi__MX__zz_erf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_erf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_erf :: MXClass a => a -> IO MX
+mx_zz_erf x = casadi__MX__zz_erf (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_erfinv" c_casadi__MX__zz_erfinv
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_erfinv
+  :: MX -> IO MX
+casadi__MX__zz_erfinv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_erfinv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_erfinv :: MXClass a => a -> IO MX
+mx_zz_erfinv x = casadi__MX__zz_erfinv (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_exp" c_casadi__MX__zz_exp
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_exp
+  :: MX -> IO MX
+casadi__MX__zz_exp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_exp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_exp :: MXClass a => a -> IO MX
+mx_zz_exp x = casadi__MX__zz_exp (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_extractShared__0" c_casadi__MX__zz_extractShared__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
+casadi__MX__zz_extractShared__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO ()
+casadi__MX__zz_extractShared__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_extractShared__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_extractShared__0 :: Vector MX -> Vector MX -> Vector MX -> IO ()
+mx_zz_extractShared__0 = casadi__MX__zz_extractShared__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_extractShared__1" c_casadi__MX__zz_extractShared__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO ()
+casadi__MX__zz_extractShared__1
+  :: Vector MX -> Vector MX -> Vector MX -> String -> IO ()
+casadi__MX__zz_extractShared__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_extractShared__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_extractShared__1 :: Vector MX -> Vector MX -> Vector MX -> String -> IO ()
+mx_zz_extractShared__1 = casadi__MX__zz_extractShared__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_extractShared__2" c_casadi__MX__zz_extractShared__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO ()
+casadi__MX__zz_extractShared__2
+  :: Vector MX -> Vector MX -> Vector MX -> String -> String -> IO ()
+casadi__MX__zz_extractShared__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_extractShared__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_extractShared__2 :: Vector MX -> Vector MX -> Vector MX -> String -> String -> IO ()
+mx_zz_extractShared__2 = casadi__MX__zz_extractShared__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_floor" c_casadi__MX__zz_floor
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_floor
+  :: MX -> IO MX
+casadi__MX__zz_floor x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_floor errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_floor :: MXClass a => a -> IO MX
+mx_zz_floor x = casadi__MX__zz_floor (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_ge" c_casadi__MX__zz_ge
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_ge
+  :: MX -> MX -> IO MX
+casadi__MX__zz_ge x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_ge errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_ge :: MXClass a => a -> MX -> IO MX
+mx_zz_ge x = casadi__MX__zz_ge (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_getOperatorRepresentation" c_casadi__MX__zz_getOperatorRepresentation
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+casadi__MX__zz_getOperatorRepresentation
+  :: MX -> Vector String -> IO String
+casadi__MX__zz_getOperatorRepresentation x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_getOperatorRepresentation errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_getOperatorRepresentation :: MXClass a => a -> Vector String -> IO String
+mx_zz_getOperatorRepresentation x = casadi__MX__zz_getOperatorRepresentation (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_getSymbols__0" c_casadi__MX__zz_getSymbols__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_getSymbols__0
+  :: Vector MX -> IO (Vector MX)
+casadi__MX__zz_getSymbols__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_getSymbols__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_getSymbols__0 :: Vector MX -> IO (Vector MX)
+mx_zz_getSymbols__0 = casadi__MX__zz_getSymbols__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_getSymbols__1" c_casadi__MX__zz_getSymbols__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_getSymbols__1
+  :: MX -> IO (Vector MX)
+casadi__MX__zz_getSymbols__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_getSymbols__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_getSymbols__1 :: MXClass a => a -> IO (Vector MX)
+mx_zz_getSymbols__1 x = casadi__MX__zz_getSymbols__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_gradient" c_casadi__MX__zz_gradient
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_gradient
+  :: MX -> MX -> IO MX
+casadi__MX__zz_gradient x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_gradient errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_gradient :: MXClass a => a -> MX -> IO MX
+mx_zz_gradient x = casadi__MX__zz_gradient (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_graph_substitute__0" c_casadi__MX__zz_graph_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_graph_substitute__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
+casadi__MX__zz_graph_substitute__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_graph_substitute__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_graph_substitute__0 :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
+mx_zz_graph_substitute__0 = casadi__MX__zz_graph_substitute__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_graph_substitute__1" c_casadi__MX__zz_graph_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_graph_substitute__1
+  :: MX -> Vector MX -> Vector MX -> IO MX
+casadi__MX__zz_graph_substitute__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_graph_substitute__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_graph_substitute__1 :: MXClass a => a -> Vector MX -> Vector MX -> IO MX
+mx_zz_graph_substitute__1 x = casadi__MX__zz_graph_substitute__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_gt" c_casadi__MX__zz_gt
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_gt
+  :: MX -> MX -> IO MX
+casadi__MX__zz_gt x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_gt errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_gt :: MXClass a => a -> MX -> IO MX
+mx_zz_gt x = casadi__MX__zz_gt (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_horzcat" c_casadi__MX__zz_horzcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_horzcat
+  :: Vector MX -> IO MX
+casadi__MX__zz_horzcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_horzcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_horzcat :: Vector MX -> IO MX
+mx_zz_horzcat = casadi__MX__zz_horzcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_horzsplit" c_casadi__MX__zz_horzsplit
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_horzsplit
+  :: MX -> Vector Int -> IO (Vector MX)
+casadi__MX__zz_horzsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_horzsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_horzsplit :: MXClass a => a -> Vector Int -> IO (Vector MX)
+mx_zz_horzsplit x = casadi__MX__zz_horzsplit (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_if_else" c_casadi__MX__zz_if_else
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_if_else
+  :: MX -> MX -> MX -> IO MX
+casadi__MX__zz_if_else x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_if_else errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_if_else :: MXClass a => a -> MX -> MX -> IO MX
+mx_zz_if_else x = casadi__MX__zz_if_else (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_if_else_zero" c_casadi__MX__zz_if_else_zero
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_if_else_zero
+  :: MX -> MX -> IO MX
+casadi__MX__zz_if_else_zero x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_if_else_zero errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_if_else_zero :: MXClass a => a -> MX -> IO MX
+mx_zz_if_else_zero x = casadi__MX__zz_if_else_zero (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_inner_prod" c_casadi__MX__zz_inner_prod
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_inner_prod
+  :: MX -> MX -> IO MX
+casadi__MX__zz_inner_prod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_inner_prod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_inner_prod :: MXClass a => a -> MX -> IO MX
+mx_zz_inner_prod x = casadi__MX__zz_inner_prod (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_inv" c_casadi__MX__zz_inv
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_inv
+  :: MX -> IO MX
+casadi__MX__zz_inv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_inv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_inv :: MXClass a => a -> IO MX
+mx_zz_inv x = casadi__MX__zz_inv (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_isEqual__0" c_casadi__MX__zz_isEqual__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
+casadi__MX__zz_isEqual__0
+  :: MX -> MX -> IO Bool
+casadi__MX__zz_isEqual__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_isEqual__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_isEqual__0 :: MXClass a => a -> MX -> IO Bool
+mx_zz_isEqual__0 x = casadi__MX__zz_isEqual__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_isEqual__1" c_casadi__MX__zz_isEqual__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO CInt
+casadi__MX__zz_isEqual__1
+  :: MX -> MX -> Int -> IO Bool
+casadi__MX__zz_isEqual__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_isEqual__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_isEqual__1 :: MXClass a => a -> MX -> Int -> IO Bool
+mx_zz_isEqual__1 x = casadi__MX__zz_isEqual__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_jacobian" c_casadi__MX__zz_jacobian
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_jacobian
+  :: MX -> MX -> IO MX
+casadi__MX__zz_jacobian x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_jacobian errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_jacobian :: MXClass a => a -> MX -> IO MX
+mx_zz_jacobian x = casadi__MX__zz_jacobian (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_kron" c_casadi__MX__zz_kron
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_kron
+  :: MX -> MX -> IO MX
+casadi__MX__zz_kron x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_kron errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_kron :: MXClass a => a -> MX -> IO MX
+mx_zz_kron x = casadi__MX__zz_kron (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_le" c_casadi__MX__zz_le
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_le
+  :: MX -> MX -> IO MX
+casadi__MX__zz_le x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_le errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_le :: MXClass a => a -> MX -> IO MX
+mx_zz_le x = casadi__MX__zz_le (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_linspace" c_casadi__MX__zz_linspace
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
+casadi__MX__zz_linspace
+  :: MX -> MX -> Int -> IO MX
+casadi__MX__zz_linspace x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_linspace errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_linspace :: MXClass a => a -> MX -> Int -> IO MX
+mx_zz_linspace x = casadi__MX__zz_linspace (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_log" c_casadi__MX__zz_log
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_log
+  :: MX -> IO MX
+casadi__MX__zz_log x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_log errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_log :: MXClass a => a -> IO MX
+mx_zz_log x = casadi__MX__zz_log (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_log10" c_casadi__MX__zz_log10
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_log10
+  :: MX -> IO MX
+casadi__MX__zz_log10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_log10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_log10 :: MXClass a => a -> IO MX
+mx_zz_log10 x = casadi__MX__zz_log10 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_lt" c_casadi__MX__zz_lt
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_lt
+  :: MX -> MX -> IO MX
+casadi__MX__zz_lt x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_lt errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_lt :: MXClass a => a -> MX -> IO MX
+mx_zz_lt x = casadi__MX__zz_lt (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_matrix_expand__0" c_casadi__MX__zz_matrix_expand__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_matrix_expand__0
+  :: Vector MX -> IO (Vector MX)
+casadi__MX__zz_matrix_expand__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_matrix_expand__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_matrix_expand__0 :: Vector MX -> IO (Vector MX)
+mx_zz_matrix_expand__0 = casadi__MX__zz_matrix_expand__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_matrix_expand__1" c_casadi__MX__zz_matrix_expand__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_matrix_expand__1
+  :: Vector MX -> Vector MX -> IO (Vector MX)
+casadi__MX__zz_matrix_expand__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_matrix_expand__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_matrix_expand__1 :: Vector MX -> Vector MX -> IO (Vector MX)
+mx_zz_matrix_expand__1 = casadi__MX__zz_matrix_expand__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_matrix_expand__2" c_casadi__MX__zz_matrix_expand__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_matrix_expand__2
+  :: MX -> IO MX
+casadi__MX__zz_matrix_expand__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_matrix_expand__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_matrix_expand__2 :: MX -> IO MX
+mx_zz_matrix_expand__2 = casadi__MX__zz_matrix_expand__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_matrix_expand__3" c_casadi__MX__zz_matrix_expand__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_matrix_expand__3
+  :: MX -> Vector MX -> IO MX
+casadi__MX__zz_matrix_expand__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_matrix_expand__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_matrix_expand__3 :: MX -> Vector MX -> IO MX
+mx_zz_matrix_expand__3 = casadi__MX__zz_matrix_expand__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_max" c_casadi__MX__zz_max
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_max
+  :: MX -> MX -> IO MX
+casadi__MX__zz_max x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_max errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_max :: MXClass a => a -> MX -> IO MX
+mx_zz_max x = casadi__MX__zz_max (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_min" c_casadi__MX__zz_min
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_min
+  :: MX -> MX -> IO MX
+casadi__MX__zz_min x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_min errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_min :: MXClass a => a -> MX -> IO MX
+mx_zz_min x = casadi__MX__zz_min (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_minus" c_casadi__MX__zz_minus
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_minus
+  :: MX -> MX -> IO MX
+casadi__MX__zz_minus x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_minus errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_minus :: MXClass a => a -> MX -> IO MX
+mx_zz_minus x = casadi__MX__zz_minus (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_mod" c_casadi__MX__zz_mod
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_mod
+  :: MX -> MX -> IO MX
+casadi__MX__zz_mod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_mod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_mod :: MXClass a => a -> MX -> IO MX
+mx_zz_mod x = casadi__MX__zz_mod (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_mpower" c_casadi__MX__zz_mpower
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_mpower
+  :: MX -> MX -> IO MX
+casadi__MX__zz_mpower x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_mpower errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_mpower :: MXClass a => a -> MX -> IO MX
+mx_zz_mpower x = casadi__MX__zz_mpower (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_mtimes__0" c_casadi__MX__zz_mtimes__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_mtimes__0
+  :: MX -> MX -> MX -> IO MX
+casadi__MX__zz_mtimes__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_mtimes__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_mtimes__0 :: MXClass a => a -> MX -> MX -> IO MX
+mx_zz_mtimes__0 x = casadi__MX__zz_mtimes__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_mtimes__1" c_casadi__MX__zz_mtimes__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_mtimes__1
+  :: MX -> MX -> IO MX
+casadi__MX__zz_mtimes__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_mtimes__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_mtimes__1 :: MXClass a => a -> MX -> IO MX
+mx_zz_mtimes__1 x = casadi__MX__zz_mtimes__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_ne" c_casadi__MX__zz_ne
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_ne
+  :: MX -> MX -> IO MX
+casadi__MX__zz_ne x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_ne errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_ne :: MXClass a => a -> MX -> IO MX
+mx_zz_ne x = casadi__MX__zz_ne (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_norm_1" c_casadi__MX__zz_norm_1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_norm_1
+  :: MX -> IO MX
+casadi__MX__zz_norm_1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_norm_1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_norm_1 :: MXClass a => a -> IO MX
+mx_zz_norm_1 x = casadi__MX__zz_norm_1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_norm_2" c_casadi__MX__zz_norm_2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_norm_2
+  :: MX -> IO MX
+casadi__MX__zz_norm_2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_norm_2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_norm_2 :: MXClass a => a -> IO MX
+mx_zz_norm_2 x = casadi__MX__zz_norm_2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_norm_F" c_casadi__MX__zz_norm_F
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_norm_F
+  :: MX -> IO MX
+casadi__MX__zz_norm_F x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_norm_F errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_norm_F :: MXClass a => a -> IO MX
+mx_zz_norm_F x = casadi__MX__zz_norm_F (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_norm_inf" c_casadi__MX__zz_norm_inf
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_norm_inf
+  :: MX -> IO MX
+casadi__MX__zz_norm_inf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_norm_inf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_norm_inf :: MXClass a => a -> IO MX
+mx_zz_norm_inf x = casadi__MX__zz_norm_inf (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_not" c_casadi__MX__zz_not
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_not
+  :: MX -> IO MX
+casadi__MX__zz_not x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_not errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_not :: MXClass a => a -> IO MX
+mx_zz_not x = casadi__MX__zz_not (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_nullspace" c_casadi__MX__zz_nullspace
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_nullspace
+  :: MX -> IO MX
+casadi__MX__zz_nullspace x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_nullspace errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_nullspace :: MXClass a => a -> IO MX
+mx_zz_nullspace x = casadi__MX__zz_nullspace (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_or" c_casadi__MX__zz_or
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_or
+  :: MX -> MX -> IO MX
+casadi__MX__zz_or x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_or errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_or :: MXClass a => a -> MX -> IO MX
+mx_zz_or x = casadi__MX__zz_or (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_outer_prod" c_casadi__MX__zz_outer_prod
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_outer_prod
+  :: MX -> MX -> IO MX
+casadi__MX__zz_outer_prod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_outer_prod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_outer_prod :: MXClass a => a -> MX -> IO MX
+mx_zz_outer_prod x = casadi__MX__zz_outer_prod (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_pinv" c_casadi__MX__zz_pinv
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+casadi__MX__zz_pinv
+  :: MX -> String -> IO MX
+casadi__MX__zz_pinv x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_pinv errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_pinv :: MXClass a => a -> String -> IO MX
+mx_zz_pinv x = casadi__MX__zz_pinv (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_plus" c_casadi__MX__zz_plus
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_plus
+  :: MX -> MX -> IO MX
+casadi__MX__zz_plus x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_plus errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_plus :: MXClass a => a -> MX -> IO MX
+mx_zz_plus x = casadi__MX__zz_plus (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_polyval" c_casadi__MX__zz_polyval
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_polyval
+  :: MX -> MX -> IO MX
+casadi__MX__zz_polyval x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_polyval errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_polyval :: MXClass a => a -> MX -> IO MX
+mx_zz_polyval x = casadi__MX__zz_polyval (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_power" c_casadi__MX__zz_power
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_power
+  :: MX -> MX -> IO MX
+casadi__MX__zz_power x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_power errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_power :: MXClass a => a -> MX -> IO MX
+mx_zz_power x = casadi__MX__zz_power (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_printCompact" c_casadi__MX__zz_printCompact
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
+casadi__MX__zz_printCompact
+  :: MX -> IO ()
+casadi__MX__zz_printCompact x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_printCompact errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_printCompact :: MXClass a => a -> IO ()
+mx_zz_printCompact x = casadi__MX__zz_printCompact (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_quad_form__0" c_casadi__MX__zz_quad_form__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_quad_form__0
+  :: MX -> IO MX
+casadi__MX__zz_quad_form__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_quad_form__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_quad_form__0 :: MXClass a => a -> IO MX
+mx_zz_quad_form__0 x = casadi__MX__zz_quad_form__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_quad_form__1" c_casadi__MX__zz_quad_form__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_quad_form__1
+  :: MX -> MX -> IO MX
+casadi__MX__zz_quad_form__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_quad_form__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_quad_form__1 :: MXClass a => a -> MX -> IO MX
+mx_zz_quad_form__1 x = casadi__MX__zz_quad_form__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_rdivide" c_casadi__MX__zz_rdivide
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_rdivide
+  :: MX -> MX -> IO MX
+casadi__MX__zz_rdivide x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_rdivide errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_rdivide :: MXClass a => a -> MX -> IO MX
+mx_zz_rdivide x = casadi__MX__zz_rdivide (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_repmat__0" c_casadi__MX__zz_repmat__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
+casadi__MX__zz_repmat__0
+  :: MX -> Int -> IO MX
+casadi__MX__zz_repmat__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_repmat__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_repmat__0 :: MXClass a => a -> Int -> IO MX
+mx_zz_repmat__0 x = casadi__MX__zz_repmat__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_repmat__1" c_casadi__MX__zz_repmat__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__zz_repmat__1
+  :: MX -> Int -> Int -> IO MX
+casadi__MX__zz_repmat__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_repmat__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_repmat__1 :: MXClass a => a -> Int -> Int -> IO MX
+mx_zz_repmat__1 x = casadi__MX__zz_repmat__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_repmat__2" c_casadi__MX__zz_repmat__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__zz_repmat__2
+  :: MX -> Sparsity -> IO MX
+casadi__MX__zz_repmat__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_repmat__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_repmat__2 :: MXClass a => a -> Sparsity -> IO MX
+mx_zz_repmat__2 x = casadi__MX__zz_repmat__2 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_reshape__0" c_casadi__MX__zz_reshape__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
+casadi__MX__zz_reshape__0
+  :: MX -> Sparsity -> IO MX
+casadi__MX__zz_reshape__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_reshape__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_reshape__0 :: MXClass a => a -> Sparsity -> IO MX
+mx_zz_reshape__0 x = casadi__MX__zz_reshape__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_reshape__1" c_casadi__MX__zz_reshape__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
+casadi__MX__zz_reshape__1
+  :: MX -> Int -> Int -> IO MX
+casadi__MX__zz_reshape__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_reshape__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_reshape__1 :: MXClass a => a -> Int -> Int -> IO MX
+mx_zz_reshape__1 x = casadi__MX__zz_reshape__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sign" c_casadi__MX__zz_sign
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_sign
+  :: MX -> IO MX
+casadi__MX__zz_sign x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sign errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sign :: MXClass a => a -> IO MX
+mx_zz_sign x = casadi__MX__zz_sign (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_simplify" c_casadi__MX__zz_simplify
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
+casadi__MX__zz_simplify
+  :: MX -> IO ()
+casadi__MX__zz_simplify x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_simplify errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_simplify :: MXClass a => a -> IO ()
+mx_zz_simplify x = casadi__MX__zz_simplify (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sin" c_casadi__MX__zz_sin
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_sin
+  :: MX -> IO MX
+casadi__MX__zz_sin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sin :: MXClass a => a -> IO MX
+mx_zz_sin x = casadi__MX__zz_sin (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sinh" c_casadi__MX__zz_sinh
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_sinh
+  :: MX -> IO MX
+casadi__MX__zz_sinh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sinh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sinh :: MXClass a => a -> IO MX
+mx_zz_sinh x = casadi__MX__zz_sinh (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_solve" c_casadi__MX__zz_solve
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+casadi__MX__zz_solve
+  :: MX -> MX -> String -> IO MX
+casadi__MX__zz_solve x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_solve errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_solve :: MXClass a => a -> MX -> String -> IO MX
+mx_zz_solve x = casadi__MX__zz_solve (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sprank" c_casadi__MX__zz_sprank
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+casadi__MX__zz_sprank
+  :: MX -> IO Int
+casadi__MX__zz_sprank x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sprank errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sprank :: MXClass a => a -> IO Int
+mx_zz_sprank x = casadi__MX__zz_sprank (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sqrt" c_casadi__MX__zz_sqrt
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_sqrt
+  :: MX -> IO MX
+casadi__MX__zz_sqrt x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sqrt errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sqrt :: MXClass a => a -> IO MX
+mx_zz_sqrt x = casadi__MX__zz_sqrt (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_substitute__0" c_casadi__MX__zz_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_substitute__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
+casadi__MX__zz_substitute__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_substitute__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_substitute__0 :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
+mx_zz_substitute__0 = casadi__MX__zz_substitute__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_substitute__1" c_casadi__MX__zz_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_substitute__1
+  :: MX -> MX -> MX -> IO MX
+casadi__MX__zz_substitute__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_substitute__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_substitute__1 :: MXClass a => a -> MX -> MX -> IO MX
+mx_zz_substitute__1 x = casadi__MX__zz_substitute__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_substituteInPlace__0" c_casadi__MX__zz_substituteInPlace__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
+casadi__MX__zz_substituteInPlace__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO ()
+casadi__MX__zz_substituteInPlace__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_substituteInPlace__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_substituteInPlace__0 :: Vector MX -> Vector MX -> Vector MX -> IO ()
+mx_zz_substituteInPlace__0 = casadi__MX__zz_substituteInPlace__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_substituteInPlace__1" c_casadi__MX__zz_substituteInPlace__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> CInt -> IO ()
+casadi__MX__zz_substituteInPlace__1
+  :: Vector MX -> Vector MX -> Vector MX -> Bool -> IO ()
+casadi__MX__zz_substituteInPlace__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_substituteInPlace__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_substituteInPlace__1 :: Vector MX -> Vector MX -> Vector MX -> Bool -> IO ()
+mx_zz_substituteInPlace__1 = casadi__MX__zz_substituteInPlace__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_substituteInPlace__2" c_casadi__MX__zz_substituteInPlace__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
+casadi__MX__zz_substituteInPlace__2
+  :: Vector MX -> Vector MX -> IO ()
+casadi__MX__zz_substituteInPlace__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_substituteInPlace__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_substituteInPlace__2 :: Vector MX -> Vector MX -> IO ()
+mx_zz_substituteInPlace__2 = casadi__MX__zz_substituteInPlace__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_substituteInPlace__3" c_casadi__MX__zz_substituteInPlace__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> CInt -> IO ()
+casadi__MX__zz_substituteInPlace__3
+  :: Vector MX -> Vector MX -> Bool -> IO ()
+casadi__MX__zz_substituteInPlace__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_substituteInPlace__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_substituteInPlace__3 :: Vector MX -> Vector MX -> Bool -> IO ()
+mx_zz_substituteInPlace__3 = casadi__MX__zz_substituteInPlace__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sumAll" c_casadi__MX__zz_sumAll
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_sumAll
+  :: MX -> IO MX
+casadi__MX__zz_sumAll x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sumAll errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sumAll :: MXClass a => a -> IO MX
+mx_zz_sumAll x = casadi__MX__zz_sumAll (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sumCols" c_casadi__MX__zz_sumCols
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_sumCols
+  :: MX -> IO MX
+casadi__MX__zz_sumCols x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sumCols errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sumCols :: MXClass a => a -> IO MX
+mx_zz_sumCols x = casadi__MX__zz_sumCols (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sumRows" c_casadi__MX__zz_sumRows
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_sumRows
+  :: MX -> IO MX
+casadi__MX__zz_sumRows x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sumRows errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sumRows :: MXClass a => a -> IO MX
+mx_zz_sumRows x = casadi__MX__zz_sumRows (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_sum_square" c_casadi__MX__zz_sum_square
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_sum_square
+  :: MX -> IO MX
+casadi__MX__zz_sum_square x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_sum_square errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_sum_square :: MXClass a => a -> IO MX
+mx_zz_sum_square x = casadi__MX__zz_sum_square (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_tan" c_casadi__MX__zz_tan
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_tan
+  :: MX -> IO MX
+casadi__MX__zz_tan x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_tan errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_tan :: MXClass a => a -> IO MX
+mx_zz_tan x = casadi__MX__zz_tan (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_tangent" c_casadi__MX__zz_tangent
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_tangent
+  :: MX -> MX -> IO MX
+casadi__MX__zz_tangent x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_tangent errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_tangent :: MXClass a => a -> MX -> IO MX
+mx_zz_tangent x = casadi__MX__zz_tangent (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_tanh" c_casadi__MX__zz_tanh
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_tanh
+  :: MX -> IO MX
+casadi__MX__zz_tanh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_tanh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_tanh :: MXClass a => a -> IO MX
+mx_zz_tanh x = casadi__MX__zz_tanh (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_times" c_casadi__MX__zz_times
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_times
+  :: MX -> MX -> IO MX
+casadi__MX__zz_times x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_times errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_times :: MXClass a => a -> MX -> IO MX
+mx_zz_times x = casadi__MX__zz_times (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_trace" c_casadi__MX__zz_trace
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_trace
+  :: MX -> IO MX
+casadi__MX__zz_trace x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_trace errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_trace :: MXClass a => a -> IO MX
+mx_zz_trace x = casadi__MX__zz_trace (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_tril__0" c_casadi__MX__zz_tril__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_tril__0
+  :: MX -> IO MX
+casadi__MX__zz_tril__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_tril__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_tril__0 :: MXClass a => a -> IO MX
+mx_zz_tril__0 x = casadi__MX__zz_tril__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_tril__1" c_casadi__MX__zz_tril__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
+casadi__MX__zz_tril__1
+  :: MX -> Bool -> IO MX
+casadi__MX__zz_tril__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_tril__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_tril__1 :: MXClass a => a -> Bool -> IO MX
+mx_zz_tril__1 x = casadi__MX__zz_tril__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_tril2symm" c_casadi__MX__zz_tril2symm
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_tril2symm
+  :: MX -> IO MX
+casadi__MX__zz_tril2symm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_tril2symm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_tril2symm :: MXClass a => a -> IO MX
+mx_zz_tril2symm x = casadi__MX__zz_tril2symm (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_triu__0" c_casadi__MX__zz_triu__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_triu__0
+  :: MX -> IO MX
+casadi__MX__zz_triu__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_triu__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_triu__0 :: MXClass a => a -> IO MX
+mx_zz_triu__0 x = casadi__MX__zz_triu__0 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_triu__1" c_casadi__MX__zz_triu__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr MX')
+casadi__MX__zz_triu__1
+  :: MX -> Bool -> IO MX
+casadi__MX__zz_triu__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_triu__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_triu__1 :: MXClass a => a -> Bool -> IO MX
+mx_zz_triu__1 x = casadi__MX__zz_triu__1 (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_triu2symm" c_casadi__MX__zz_triu2symm
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_triu2symm
+  :: MX -> IO MX
+casadi__MX__zz_triu2symm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_triu2symm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_triu2symm :: MXClass a => a -> IO MX
+mx_zz_triu2symm x = casadi__MX__zz_triu2symm (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_unite" c_casadi__MX__zz_unite
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_unite
+  :: MX -> MX -> IO MX
+casadi__MX__zz_unite x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_unite errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_unite :: MXClass a => a -> MX -> IO MX
+mx_zz_unite x = casadi__MX__zz_unite (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_vec" c_casadi__MX__zz_vec
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_vec
+  :: MX -> IO MX
+casadi__MX__zz_vec x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_vec errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_vec :: MXClass a => a -> IO MX
+mx_zz_vec x = casadi__MX__zz_vec (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_vecNZ" c_casadi__MX__zz_vecNZ
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+casadi__MX__zz_vecNZ
+  :: MX -> IO MX
+casadi__MX__zz_vecNZ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_vecNZ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_vecNZ :: MXClass a => a -> IO MX
+mx_zz_vecNZ x = casadi__MX__zz_vecNZ (castMX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_vecNZcat" c_casadi__MX__zz_vecNZcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_vecNZcat
+  :: Vector MX -> IO MX
+casadi__MX__zz_vecNZcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_vecNZcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_vecNZcat :: Vector MX -> IO MX
+mx_zz_vecNZcat = casadi__MX__zz_vecNZcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_veccat" c_casadi__MX__zz_veccat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_veccat
+  :: Vector MX -> IO MX
+casadi__MX__zz_veccat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_veccat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_veccat :: Vector MX -> IO MX
+mx_zz_veccat = casadi__MX__zz_veccat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_vertcat" c_casadi__MX__zz_vertcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+casadi__MX__zz_vertcat
+  :: Vector MX -> IO MX
+casadi__MX__zz_vertcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_vertcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_vertcat :: Vector MX -> IO MX
+mx_zz_vertcat = casadi__MX__zz_vertcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__MX__zz_vertsplit" c_casadi__MX__zz_vertsplit
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
+casadi__MX__zz_vertsplit
+  :: MX -> Vector Int -> IO (Vector MX)
+casadi__MX__zz_vertsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__MX__zz_vertsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+mx_zz_vertsplit :: MXClass a => a -> Vector Int -> IO (Vector MX)
+mx_zz_vertsplit x = casadi__MX__zz_vertsplit (castMX x)
 
diff --git a/Casadi/Core/Classes/MXFunction.hs b/Casadi/Core/Classes/MXFunction.hs
--- a/Casadi/Core/Classes/MXFunction.hs
+++ b/Casadi/Core/Classes/MXFunction.hs
@@ -74,7 +74,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__MXFunction__CONSTRUCTOR__0" c_casadi__MXFunction__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MXFunction')
diff --git a/Casadi/Core/Classes/NlpSolver.hs b/Casadi/Core/Classes/NlpSolver.hs
--- a/Casadi/Core/Classes/NlpSolver.hs
+++ b/Casadi/Core/Classes/NlpSolver.hs
@@ -44,7 +44,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__NlpSolver__CONSTRUCTOR__0" c_casadi__NlpSolver__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Function' -> IO (Ptr NlpSolver')
diff --git a/Casadi/Core/Classes/Nullspace.hs b/Casadi/Core/Classes/Nullspace.hs
--- a/Casadi/Core/Classes/Nullspace.hs
+++ b/Casadi/Core/Classes/Nullspace.hs
@@ -30,7 +30,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__Nullspace__CONSTRUCTOR" c_casadi__Nullspace__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr Nullspace')
diff --git a/Casadi/Core/Classes/OptionsFunctionality.hs b/Casadi/Core/Classes/OptionsFunctionality.hs
--- a/Casadi/Core/Classes/OptionsFunctionality.hs
+++ b/Casadi/Core/Classes/OptionsFunctionality.hs
@@ -47,7 +47,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__OptionsFunctionality__CONSTRUCTOR" c_casadi__OptionsFunctionality__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr OptionsFunctionality')
diff --git a/Casadi/Core/Classes/Parallelizer.hs b/Casadi/Core/Classes/Parallelizer.hs
--- a/Casadi/Core/Classes/Parallelizer.hs
+++ b/Casadi/Core/Classes/Parallelizer.hs
@@ -31,7 +31,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__Parallelizer__CONSTRUCTOR__0" c_casadi__Parallelizer__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Function')) -> IO (Ptr Parallelizer')
diff --git a/Casadi/Core/Classes/QcqpSolver.hs b/Casadi/Core/Classes/QcqpSolver.hs
--- a/Casadi/Core/Classes/QcqpSolver.hs
+++ b/Casadi/Core/Classes/QcqpSolver.hs
@@ -34,7 +34,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__QcqpSolver__CONSTRUCTOR" c_casadi__QcqpSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr QcqpSolver')
diff --git a/Casadi/Core/Classes/QpSolver.hs b/Casadi/Core/Classes/QpSolver.hs
--- a/Casadi/Core/Classes/QpSolver.hs
+++ b/Casadi/Core/Classes/QpSolver.hs
@@ -35,7 +35,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__QpSolver__CONSTRUCTOR" c_casadi__QpSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr QpSolver')
diff --git a/Casadi/Core/Classes/SX.hs b/Casadi/Core/Classes/SX.hs
--- a/Casadi/Core/Classes/SX.hs
+++ b/Casadi/Core/Classes/SX.hs
@@ -9,6674 +9,7402 @@
        (
          SX,
          SXClass(..),
-         sx__0,
-         sx__1,
-         sx__10,
-         sx__11,
-         sx__12,
-         sx__13,
-         sx__14,
-         sx__2,
-         sx__3,
-         sx__4,
-         sx__5,
-         sx__6,
-         sx__7,
-         sx__8,
-         sx__9,
-         sx___add__,
-         sx___constpow__,
-         sx___copysign__,
-         sx___div__,
-         sx___eq__,
-         sx___ge____0,
-         sx___ge____1,
-         sx___gt____0,
-         sx___gt____1,
-         sx___le__,
-         sx___lt__,
-         sx___mldivide__,
-         sx___mpower__,
-         sx___mrdivide__,
-         sx___mul__,
-         sx___ne__,
-         sx___nonzero__,
-         sx___pow__,
-         sx___radd__,
-         sx___rdiv__,
-         sx___req__,
-         sx___rge__,
-         sx___rgt__,
-         sx___rle__,
-         sx___rlt__,
-         sx___rmul__,
-         sx___rne__,
-         sx___rsub__,
-         sx___rtruediv__,
-         sx___sub__,
-         sx___truediv____0,
-         sx___truediv____1,
-         sx_append,
-         sx_appendColumns,
-         sx_arccos,
-         sx_arccosh,
-         sx_arcsin,
-         sx_arcsinh,
-         sx_arctan,
-         sx_arctan2,
-         sx_arctanh,
-         sx_at,
-         sx_binary,
-         sx_ceil,
-         sx_className,
-         sx_clear,
-         sx_colind__0,
-         sx_colind__1,
-         sx_cos,
-         sx_cosh,
-         sx_data__0,
-         sx_data__1,
-         sx_densify__0,
-         sx_densify__1,
-         sx_dimString,
-         sx_elem__0,
-         sx_elem__1,
-         sx_enlarge,
-         sx_erase,
-         sx_erf,
-         sx_erfinv,
-         sx_exp,
-         sx_eye,
-         sx_fabs,
-         sx_floor,
-         sx_fmax,
-         sx_fmin,
-         sx_fmod,
-         sx_getDescription,
-         sx_getElement__0,
-         sx_getElement__1,
-         sx_getEqualityCheckingDepth,
-         sx_getMaxNumCallsInPrint,
-         sx_getNZ__0,
-         sx_getNZ__1,
-         sx_getNZ__2,
-         sx_getNZ__3,
-         sx_getName,
-         sx_getRepresentation,
-         sx_getValue,
-         sx_get__0,
-         sx_get__1,
-         sx_get__2,
-         sx_get__3,
-         sx_get__4,
-         sx_get__5,
-         sx_hasNZ,
-         sx_hasNonStructuralZeros,
-         sx_if_else_zero,
-         sx_indexed__0,
-         sx_indexed__1,
-         sx_indexed__2,
-         sx_indexed__3,
-         sx_indexed__4,
-         sx_indexed__5,
-         sx_indexed_assignment__0,
-         sx_indexed_assignment__1,
-         sx_indexed_assignment__2,
-         sx_indexed_assignment__3,
-         sx_indexed_assignment__4,
-         sx_indexed_assignment__5,
-         sx_indexed_one_based__0,
-         sx_indexed_one_based__1,
-         sx_indexed_one_based__2,
-         sx_indexed_one_based_assignment__0,
-         sx_indexed_one_based_assignment__1,
-         sx_indexed_one_based_assignment__2,
-         sx_indexed_zero_based__0,
-         sx_indexed_zero_based__1,
-         sx_indexed_zero_based__2,
-         sx_indexed_zero_based_assignment__0,
-         sx_indexed_zero_based_assignment__1,
-         sx_indexed_zero_based_assignment__2,
-         sx_inf__0,
-         sx_inf__1,
-         sx_inf__2,
-         sx_inf__3,
-         sx_isConstant,
-         sx_isDense,
-         sx_isEmpty__0,
-         sx_isEmpty__1,
-         sx_isEqual,
-         sx_isIdentity,
-         sx_isInteger,
-         sx_isMinusOne,
-         sx_isOne,
-         sx_isRegular,
-         sx_isScalar__0,
-         sx_isScalar__1,
-         sx_isSmooth,
-         sx_isSquare,
-         sx_isSymbolic,
-         sx_isSymbolicSparse,
-         sx_isTril,
-         sx_isTriu,
-         sx_isVector,
-         sx_isZero,
-         sx_log,
-         sx_log10,
-         sx_logic_and,
-         sx_logic_not,
-         sx_logic_or,
-         sx_matrix_matrix,
-         sx_matrix_scalar,
-         sx_mul__0,
-         sx_mul__1,
-         sx_mul_full__0,
-         sx_mul_full__1,
-         sx_mul_no_alloc_nn__0,
-         sx_mul_no_alloc_nn__1,
-         sx_mul_no_alloc_nn__2,
-         sx_mul_no_alloc_nt,
-         sx_mul_no_alloc_tn__0,
-         sx_mul_no_alloc_tn__1,
-         sx_mul_smart,
-         sx_nan__0,
-         sx_nan__1,
-         sx_nan__2,
-         sx_nan__3,
-         sx_numel,
-         sx_nz_indexed,
-         sx_nz_indexed_assignment,
-         sx_nz_indexed_one_based__0,
-         sx_nz_indexed_one_based__1,
-         sx_nz_indexed_one_based_assignment__0,
-         sx_nz_indexed_one_based_assignment__1,
-         sx_nz_indexed_zero_based__0,
-         sx_nz_indexed_zero_based__1,
-         sx_nz_indexed_zero_based_assignment__0,
-         sx_nz_indexed_zero_based_assignment__1,
-         sx_ones__0,
-         sx_ones__1,
-         sx_ones__2,
-         sx_ones__3,
-         sx_printDense,
-         sx_printScalar,
-         sx_printSparse,
-         sx_printVector,
-         sx_printme,
-         sx_quad_form,
-         sx_remove,
-         sx_repmat__0,
-         sx_repmat__1,
-         sx_repmat__2,
-         sx_repmat__3,
-         sx_reserve__0,
-         sx_reserve__1,
-         sx_resize,
-         sx_row__0,
-         sx_row__1,
-         sx_sanityCheck__0,
-         sx_sanityCheck__1,
-         sx_scalar_matrix,
-         sx_setAll,
-         sx_setEqualityCheckingDepth__0,
-         sx_setEqualityCheckingDepth__1,
-         sx_setMaxNumCallsInPrint__0,
-         sx_setMaxNumCallsInPrint__1,
-         sx_setNZ__0,
-         sx_setNZ__1,
-         sx_setNZ__2,
-         sx_setNZ__3,
-         sx_setPrecision,
-         sx_setScientific,
-         sx_setSparse__0,
-         sx_setSparse__1,
-         sx_setSub__0,
-         sx_setSub__1,
-         sx_setSub__10,
-         sx_setSub__11,
-         sx_setSub__12,
-         sx_setSub__13,
-         sx_setSub__14,
-         sx_setSub__15,
-         sx_setSub__16,
-         sx_setSub__2,
-         sx_setSub__3,
-         sx_setSub__4,
-         sx_setSub__5,
-         sx_setSub__6,
-         sx_setSub__7,
-         sx_setSub__8,
-         sx_setSub__9,
-         sx_setWidth,
-         sx_setZero,
-         sx_set__0,
-         sx_set__1,
-         sx_set__2,
-         sx_set__3,
-         sx_set__4,
-         sx_set__5,
-         sx_sign,
-         sx_sin,
-         sx_sinh,
-         sx_size1,
-         sx_size2,
-         sx_sizeD,
-         sx_sizeL,
-         sx_sizeU,
-         sx_size__0,
-         sx_size__1,
-         sx_sparse__0,
-         sx_sparse__1,
-         sx_sparse__2,
-         sx_sparsify__0,
-         sx_sparsify__1,
-         sx_sparsityRef__0,
-         sx_sparsityRef__1,
-         sx_sparsity__0,
-         sx_sparsity__1,
-         sx_sqrt,
-         sx_sub__0,
-         sx_sub__1,
-         sx_sub__10,
-         sx_sub__11,
-         sx_sub__12,
-         sx_sub__13,
-         sx_sub__14,
-         sx_sub__15,
-         sx_sub__16,
-         sx_sub__17,
-         sx_sub__2,
-         sx_sub__3,
-         sx_sub__4,
-         sx_sub__5,
-         sx_sub__6,
-         sx_sub__7,
-         sx_sub__8,
-         sx_sub__9,
-         sx_sym__0,
-         sx_sym__1,
-         sx_sym__2,
-         sx_sym__3,
-         sx_sym__4,
-         sx_sym__5,
-         sx_sym__6,
-         sx_sym__7,
-         sx_tan,
-         sx_tanh,
-         sx_toScalar,
-         sx_trans,
-         sx_triplet__0,
-         sx_triplet__1,
-         sx_unary,
-         sx_zeros__0,
-         sx_zeros__1,
-         sx_zeros__2,
-         sx_zeros__3,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.CToolsInstances ( )
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__0" c_casadi__SX__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__0
-  :: Vector Double -> Int -> Int -> IO SX
-casadi__SX__CONSTRUCTOR__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__0 :: Vector Double -> Int -> Int -> IO SX
-sx__0 = casadi__SX__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__1" c_casadi__SX__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__1
-  :: Vector Double -> IO SX
-casadi__SX__CONSTRUCTOR__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__1 :: Vector Double -> IO SX
-sx__1 = casadi__SX__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__2" c_casadi__SX__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__2
-  :: DMatrix -> IO SX
-casadi__SX__CONSTRUCTOR__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__2 :: DMatrix -> IO SX
-sx__2 = casadi__SX__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__3" c_casadi__SX__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__3
-  :: Vector Int -> Int -> Int -> IO SX
-casadi__SX__CONSTRUCTOR__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__3 :: Vector Int -> Int -> Int -> IO SX
-sx__3 = casadi__SX__CONSTRUCTOR__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__4" c_casadi__SX__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__4
-  :: Vector Int -> IO SX
-casadi__SX__CONSTRUCTOR__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__4 :: Vector Int -> IO SX
-sx__4 = casadi__SX__CONSTRUCTOR__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__5" c_casadi__SX__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__5
-  :: IMatrix -> IO SX
-casadi__SX__CONSTRUCTOR__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__5 :: IMatrix -> IO SX
-sx__5 = casadi__SX__CONSTRUCTOR__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__6" c_casadi__SX__CONSTRUCTOR__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElement')) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__6
-  :: Vector SXElement -> Int -> Int -> IO SX
-casadi__SX__CONSTRUCTOR__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__6 :: Vector SXElement -> Int -> Int -> IO SX
-sx__6 = casadi__SX__CONSTRUCTOR__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__7" c_casadi__SX__CONSTRUCTOR__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElement')) -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__7
-  :: Vector SXElement -> IO SX
-casadi__SX__CONSTRUCTOR__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__7 :: Vector SXElement -> IO SX
-sx__7 = casadi__SX__CONSTRUCTOR__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__8" c_casadi__SX__CONSTRUCTOR__8
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__8
-  :: Double -> IO SX
-casadi__SX__CONSTRUCTOR__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__8 :: Double -> IO SX
-sx__8 = casadi__SX__CONSTRUCTOR__8
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__9" c_casadi__SX__CONSTRUCTOR__9
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec (Ptr SXElement')) -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__9
-  :: Sparsity -> Vector SXElement -> IO SX
-casadi__SX__CONSTRUCTOR__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__9 :: Sparsity -> Vector SXElement -> IO SX
-sx__9 = casadi__SX__CONSTRUCTOR__9
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__10" c_casadi__SX__CONSTRUCTOR__10
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__10
-  :: Sparsity -> IO SX
-casadi__SX__CONSTRUCTOR__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__10 :: Sparsity -> IO SX
-sx__10 = casadi__SX__CONSTRUCTOR__10
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__11" c_casadi__SX__CONSTRUCTOR__11
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr SXElement' -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__11
-  :: Sparsity -> SXElement -> IO SX
-casadi__SX__CONSTRUCTOR__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__11 :: Sparsity -> SXElement -> IO SX
-sx__11 = casadi__SX__CONSTRUCTOR__11
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__12" c_casadi__SX__CONSTRUCTOR__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr SXElement')))) -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__12
-  :: Vector (Vector SXElement) -> IO SX
-casadi__SX__CONSTRUCTOR__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__12 :: Vector (Vector SXElement) -> IO SX
-sx__12 = casadi__SX__CONSTRUCTOR__12
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__13" c_casadi__SX__CONSTRUCTOR__13
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__13
-  :: SX -> IO SX
-casadi__SX__CONSTRUCTOR__13 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__13 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__13 :: SX -> IO SX
-sx__13 = casadi__SX__CONSTRUCTOR__13
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__14" c_casadi__SX__CONSTRUCTOR__14
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-casadi__SX__CONSTRUCTOR__14
-  :: IO SX
-casadi__SX__CONSTRUCTOR__14  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__CONSTRUCTOR__14 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx__14 :: IO SX
-sx__14 = casadi__SX__CONSTRUCTOR__14
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____add__" c_casadi__SX____add__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____add__
-  :: SX -> SX -> IO SX
-casadi__SX____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____add__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___add__ :: SXClass a => a -> SX -> IO SX
-sx___add__ x = casadi__SX____add__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____constpow__" c_casadi__SX____constpow__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____constpow__
-  :: SX -> SX -> IO SX
-casadi__SX____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____constpow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___constpow__ :: SXClass a => a -> SX -> IO SX
-sx___constpow__ x = casadi__SX____constpow__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____copysign__" c_casadi__SX____copysign__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____copysign__
-  :: SX -> SX -> IO SX
-casadi__SX____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____copysign__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___copysign__ :: SXClass a => a -> SX -> IO SX
-sx___copysign__ x = casadi__SX____copysign__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____div__" c_casadi__SX____div__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____div__
-  :: SX -> SX -> IO SX
-casadi__SX____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____div__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___div__ :: SXClass a => a -> SX -> IO SX
-sx___div__ x = casadi__SX____div__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____eq__" c_casadi__SX____eq__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____eq__
-  :: SX -> SX -> IO SX
-casadi__SX____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____eq__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___eq__ :: SXClass a => a -> SX -> IO SX
-sx___eq__ x = casadi__SX____eq__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____ge____0" c_casadi__SX____ge____0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____ge____0
-  :: SX -> SX -> IO SX
-casadi__SX____ge____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____ge____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___ge____0 :: SXClass a => a -> SX -> IO SX
-sx___ge____0 x = casadi__SX____ge____0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____ge____1" c_casadi__SX____ge____1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____ge____1
-  :: SX -> SX -> IO SX
-casadi__SX____ge____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____ge____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___ge____1 :: SXClass a => a -> SX -> IO SX
-sx___ge____1 x = casadi__SX____ge____1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____gt____0" c_casadi__SX____gt____0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____gt____0
-  :: SX -> SX -> IO SX
-casadi__SX____gt____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____gt____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___gt____0 :: SXClass a => a -> SX -> IO SX
-sx___gt____0 x = casadi__SX____gt____0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____gt____1" c_casadi__SX____gt____1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____gt____1
-  :: SX -> SX -> IO SX
-casadi__SX____gt____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____gt____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___gt____1 :: SXClass a => a -> SX -> IO SX
-sx___gt____1 x = casadi__SX____gt____1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____le__" c_casadi__SX____le__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____le__
-  :: SX -> SX -> IO SX
-casadi__SX____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____le__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___le__ :: SXClass a => a -> SX -> IO SX
-sx___le__ x = casadi__SX____le__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____lt__" c_casadi__SX____lt__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____lt__
-  :: SX -> SX -> IO SX
-casadi__SX____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____lt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___lt__ :: SXClass a => a -> SX -> IO SX
-sx___lt__ x = casadi__SX____lt__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____mldivide__" c_casadi__SX____mldivide__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____mldivide__
-  :: SX -> SX -> IO SX
-casadi__SX____mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____mldivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___mldivide__ :: SXClass a => a -> SX -> IO SX
-sx___mldivide__ x = casadi__SX____mldivide__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____mpower__" c_casadi__SX____mpower__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____mpower__
-  :: SX -> SX -> IO SX
-casadi__SX____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____mpower__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___mpower__ :: SXClass a => a -> SX -> IO SX
-sx___mpower__ x = casadi__SX____mpower__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____mrdivide__" c_casadi__SX____mrdivide__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____mrdivide__
-  :: SX -> SX -> IO SX
-casadi__SX____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____mrdivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___mrdivide__ :: SXClass a => a -> SX -> IO SX
-sx___mrdivide__ x = casadi__SX____mrdivide__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____mul__" c_casadi__SX____mul__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____mul__
-  :: SX -> SX -> IO SX
-casadi__SX____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____mul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___mul__ :: SXClass a => a -> SX -> IO SX
-sx___mul__ x = casadi__SX____mul__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____ne__" c_casadi__SX____ne__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____ne__
-  :: SX -> SX -> IO SX
-casadi__SX____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____ne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___ne__ :: SXClass a => a -> SX -> IO SX
-sx___ne__ x = casadi__SX____ne__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____nonzero__" c_casadi__SX____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX____nonzero__
-  :: SX -> IO Bool
-casadi__SX____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____nonzero__ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___nonzero__ :: SXClass a => a -> IO Bool
-sx___nonzero__ x = casadi__SX____nonzero__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____pow__" c_casadi__SX____pow__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____pow__
-  :: SX -> SX -> IO SX
-casadi__SX____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____pow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___pow__ :: SXClass a => a -> SX -> IO SX
-sx___pow__ x = casadi__SX____pow__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____radd__" c_casadi__SX____radd__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____radd__
-  :: SX -> SX -> IO SX
-casadi__SX____radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____radd__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___radd__ :: SXClass a => a -> SX -> IO SX
-sx___radd__ x = casadi__SX____radd__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rdiv__" c_casadi__SX____rdiv__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rdiv__
-  :: SX -> SX -> IO SX
-casadi__SX____rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rdiv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rdiv__ :: SXClass a => a -> SX -> IO SX
-sx___rdiv__ x = casadi__SX____rdiv__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____req__" c_casadi__SX____req__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____req__
-  :: SX -> SX -> IO SX
-casadi__SX____req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____req__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___req__ :: SXClass a => a -> SX -> IO SX
-sx___req__ x = casadi__SX____req__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rge__" c_casadi__SX____rge__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rge__
-  :: SX -> SX -> IO SX
-casadi__SX____rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rge__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rge__ :: SXClass a => a -> SX -> IO SX
-sx___rge__ x = casadi__SX____rge__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rgt__" c_casadi__SX____rgt__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rgt__
-  :: SX -> SX -> IO SX
-casadi__SX____rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rgt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rgt__ :: SXClass a => a -> SX -> IO SX
-sx___rgt__ x = casadi__SX____rgt__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rle__" c_casadi__SX____rle__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rle__
-  :: SX -> SX -> IO SX
-casadi__SX____rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rle__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rle__ :: SXClass a => a -> SX -> IO SX
-sx___rle__ x = casadi__SX____rle__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rlt__" c_casadi__SX____rlt__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rlt__
-  :: SX -> SX -> IO SX
-casadi__SX____rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rlt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rlt__ :: SXClass a => a -> SX -> IO SX
-sx___rlt__ x = casadi__SX____rlt__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rmul__" c_casadi__SX____rmul__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rmul__
-  :: SX -> SX -> IO SX
-casadi__SX____rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rmul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rmul__ :: SXClass a => a -> SX -> IO SX
-sx___rmul__ x = casadi__SX____rmul__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rne__" c_casadi__SX____rne__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rne__
-  :: SX -> SX -> IO SX
-casadi__SX____rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rne__ :: SXClass a => a -> SX -> IO SX
-sx___rne__ x = casadi__SX____rne__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rsub__" c_casadi__SX____rsub__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rsub__
-  :: SX -> SX -> IO SX
-casadi__SX____rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rsub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rsub__ :: SXClass a => a -> SX -> IO SX
-sx___rsub__ x = casadi__SX____rsub__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____rtruediv__" c_casadi__SX____rtruediv__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____rtruediv__
-  :: SX -> SX -> IO SX
-casadi__SX____rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____rtruediv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___rtruediv__ :: SXClass a => a -> SX -> IO SX
-sx___rtruediv__ x = casadi__SX____rtruediv__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____sub__" c_casadi__SX____sub__
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____sub__
-  :: SX -> SX -> IO SX
-casadi__SX____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____sub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___sub__ :: SXClass a => a -> SX -> IO SX
-sx___sub__ x = casadi__SX____sub__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____truediv____0" c_casadi__SX____truediv____0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____truediv____0
-  :: SX -> SX -> IO SX
-casadi__SX____truediv____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____truediv____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___truediv____0 :: SXClass a => a -> SX -> IO SX
-sx___truediv____0 x = casadi__SX____truediv____0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX____truediv____1" c_casadi__SX____truediv____1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX____truediv____1
-  :: SX -> SX -> IO SX
-casadi__SX____truediv____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX____truediv____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx___truediv____1 :: SXClass a => a -> SX -> IO SX
-sx___truediv____1 x = casadi__SX____truediv____1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__append" c_casadi__SX__append
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
-casadi__SX__append
-  :: SX -> SX -> IO ()
-casadi__SX__append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__append errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_append :: SXClass a => a -> SX -> IO ()
-sx_append x = casadi__SX__append (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__appendColumns" c_casadi__SX__appendColumns
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
-casadi__SX__appendColumns
-  :: SX -> SX -> IO ()
-casadi__SX__appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__appendColumns errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_appendColumns :: SXClass a => a -> SX -> IO ()
-sx_appendColumns x = casadi__SX__appendColumns (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__arccos" c_casadi__SX__arccos
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__arccos
-  :: SX -> IO SX
-casadi__SX__arccos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__arccos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_arccos :: SXClass a => a -> IO SX
-sx_arccos x = casadi__SX__arccos (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__arccosh" c_casadi__SX__arccosh
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__arccosh
-  :: SX -> IO SX
-casadi__SX__arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__arccosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_arccosh :: SXClass a => a -> IO SX
-sx_arccosh x = casadi__SX__arccosh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__arcsin" c_casadi__SX__arcsin
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__arcsin
-  :: SX -> IO SX
-casadi__SX__arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__arcsin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_arcsin :: SXClass a => a -> IO SX
-sx_arcsin x = casadi__SX__arcsin (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__arcsinh" c_casadi__SX__arcsinh
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__arcsinh
-  :: SX -> IO SX
-casadi__SX__arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__arcsinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_arcsinh :: SXClass a => a -> IO SX
-sx_arcsinh x = casadi__SX__arcsinh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__arctan" c_casadi__SX__arctan
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__arctan
-  :: SX -> IO SX
-casadi__SX__arctan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__arctan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_arctan :: SXClass a => a -> IO SX
-sx_arctan x = casadi__SX__arctan (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__arctan2" c_casadi__SX__arctan2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__arctan2
-  :: SX -> SX -> IO SX
-casadi__SX__arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__arctan2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_arctan2 :: SXClass a => a -> SX -> IO SX
-sx_arctan2 x = casadi__SX__arctan2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__arctanh" c_casadi__SX__arctanh
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__arctanh
-  :: SX -> IO SX
-casadi__SX__arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__arctanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_arctanh :: SXClass a => a -> IO SX
-sx_arctanh x = casadi__SX__arctanh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__at" c_casadi__SX__at
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SXElement')
-casadi__SX__at
-  :: SX -> Int -> IO SXElement
-casadi__SX__at x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__at errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_at :: SXClass a => a -> Int -> IO SXElement
-sx_at x = casadi__SX__at (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__binary" c_casadi__SX__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__binary
-  :: Int -> SX -> SX -> IO SX
-casadi__SX__binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__binary errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_binary :: Int -> SX -> SX -> IO SX
-sx_binary = casadi__SX__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ceil" c_casadi__SX__ceil
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__ceil
-  :: SX -> IO SX
-casadi__SX__ceil x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__ceil errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_ceil :: SXClass a => a -> IO SX
-sx_ceil x = casadi__SX__ceil (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__className" c_casadi__SX__className
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__SX__className
-  :: IO String
-casadi__SX__className  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__className errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_className :: IO String
-sx_className = casadi__SX__className
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__clear" c_casadi__SX__clear
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__clear
-  :: SX -> IO ()
-casadi__SX__clear x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__clear errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_clear :: SXClass a => a -> IO ()
-sx_clear x = casadi__SX__clear (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__colind__0" c_casadi__SX__colind__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-casadi__SX__colind__0
-  :: SX -> Int -> IO Int
-casadi__SX__colind__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__colind__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_colind__0 :: SXClass a => a -> Int -> IO Int
-sx_colind__0 x = casadi__SX__colind__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__colind__1" c_casadi__SX__colind__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec CInt))
-casadi__SX__colind__1
-  :: SX -> IO (Vector Int)
-casadi__SX__colind__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__colind__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_colind__1 :: SXClass a => a -> IO (Vector Int)
-sx_colind__1 x = casadi__SX__colind__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__cos" c_casadi__SX__cos
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__cos
-  :: SX -> IO SX
-casadi__SX__cos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__cos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_cos :: SXClass a => a -> IO SX
-sx_cos x = casadi__SX__cos (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__cosh" c_casadi__SX__cosh
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__cosh
-  :: SX -> IO SX
-casadi__SX__cosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__cosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_cosh :: SXClass a => a -> IO SX
-sx_cosh x = casadi__SX__cosh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__data__0" c_casadi__SX__data__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SXElement')))
-casadi__SX__data__0
-  :: SX -> IO (Vector SXElement)
-casadi__SX__data__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__data__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_data__0 :: SXClass a => a -> IO (Vector SXElement)
-sx_data__0 x = casadi__SX__data__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__data__1" c_casadi__SX__data__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SXElement')))
-casadi__SX__data__1
-  :: SX -> IO (Vector SXElement)
-casadi__SX__data__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__data__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_data__1 :: SXClass a => a -> IO (Vector SXElement)
-sx_data__1 x = casadi__SX__data__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__densify__0" c_casadi__SX__densify__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__densify__0
-  :: SX -> IO ()
-casadi__SX__densify__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__densify__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_densify__0 :: SXClass a => a -> IO ()
-sx_densify__0 x = casadi__SX__densify__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__densify__1" c_casadi__SX__densify__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SXElement' -> IO ()
-casadi__SX__densify__1
-  :: SX -> SXElement -> IO ()
-casadi__SX__densify__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__densify__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_densify__1 :: SXClass a => a -> SXElement -> IO ()
-sx_densify__1 x = casadi__SX__densify__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__dimString" c_casadi__SX__dimString
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
-casadi__SX__dimString
-  :: SX -> IO String
-casadi__SX__dimString x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__dimString errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_dimString :: SXClass a => a -> IO String
-sx_dimString x = casadi__SX__dimString (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__elem__0" c_casadi__SX__elem__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SXElement')
-casadi__SX__elem__0
-  :: SX -> Int -> IO SXElement
-casadi__SX__elem__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__elem__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_elem__0 :: SXClass a => a -> Int -> IO SXElement
-sx_elem__0 x = casadi__SX__elem__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__elem__1" c_casadi__SX__elem__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SXElement')
-casadi__SX__elem__1
-  :: SX -> Int -> Int -> IO SXElement
-casadi__SX__elem__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__elem__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_elem__1 :: SXClass a => a -> Int -> Int -> IO SXElement
-sx_elem__1 x = casadi__SX__elem__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__enlarge" c_casadi__SX__enlarge
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__SX__enlarge
-  :: SX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__SX__enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__enlarge errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_enlarge :: SXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-sx_enlarge x = casadi__SX__enlarge (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__erase" c_casadi__SX__erase
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__SX__erase
-  :: SX -> Vector Int -> Vector Int -> IO ()
-casadi__SX__erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__erase errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_erase :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
-sx_erase x = casadi__SX__erase (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__erf" c_casadi__SX__erf
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__erf
-  :: SX -> IO SX
-casadi__SX__erf x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__erf errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_erf :: SXClass a => a -> IO SX
-sx_erf x = casadi__SX__erf (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__erfinv" c_casadi__SX__erfinv
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__erfinv
-  :: SX -> IO SX
-casadi__SX__erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__erfinv errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_erfinv :: SXClass a => a -> IO SX
-sx_erfinv x = casadi__SX__erfinv (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__exp" c_casadi__SX__exp
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__exp
-  :: SX -> IO SX
-casadi__SX__exp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__exp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_exp :: SXClass a => a -> IO SX
-sx_exp x = casadi__SX__exp (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__eye" c_casadi__SX__eye
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-casadi__SX__eye
-  :: Int -> IO SX
-casadi__SX__eye x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__eye errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_eye :: Int -> IO SX
-sx_eye = casadi__SX__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__fabs" c_casadi__SX__fabs
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__fabs
-  :: SX -> IO SX
-casadi__SX__fabs x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__fabs errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_fabs :: SXClass a => a -> IO SX
-sx_fabs x = casadi__SX__fabs (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__floor" c_casadi__SX__floor
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__floor
-  :: SX -> IO SX
-casadi__SX__floor x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__floor errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_floor :: SXClass a => a -> IO SX
-sx_floor x = casadi__SX__floor (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__fmax" c_casadi__SX__fmax
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__fmax
-  :: SX -> SX -> IO SX
-casadi__SX__fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__fmax errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_fmax :: SXClass a => a -> SX -> IO SX
-sx_fmax x = casadi__SX__fmax (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__fmin" c_casadi__SX__fmin
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__fmin
-  :: SX -> SX -> IO SX
-casadi__SX__fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__fmin errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_fmin :: SXClass a => a -> SX -> IO SX
-sx_fmin x = casadi__SX__fmin (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__fmod" c_casadi__SX__fmod
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__fmod
-  :: SX -> SX -> IO SX
-casadi__SX__fmod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__fmod errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_fmod :: SXClass a => a -> SX -> IO SX
-sx_fmod x = casadi__SX__fmod (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__0" c_casadi__SX__get__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
-casadi__SX__get__0
-  :: SX -> SX -> IO ()
-casadi__SX__get__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__get__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_get__0 :: SXClass a => a -> SX -> IO ()
-sx_get__0 x = casadi__SX__get__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__1" c_casadi__SX__get__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO ()
-casadi__SX__get__1
-  :: SX -> SX -> SparsityType -> IO ()
-casadi__SX__get__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__get__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_get__1 :: SXClass a => a -> SX -> SparsityType -> IO ()
-sx_get__1 x = casadi__SX__get__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__2" c_casadi__SX__get__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> IO ()
-casadi__SX__get__2
-  :: SX -> Vector SXElement -> IO ()
-casadi__SX__get__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__get__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_get__2 :: SXClass a => a -> Vector SXElement -> IO ()
-sx_get__2 x = casadi__SX__get__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__3" c_casadi__SX__get__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> CInt -> IO ()
-casadi__SX__get__3
-  :: SX -> Vector SXElement -> SparsityType -> IO ()
-casadi__SX__get__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__get__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_get__3 :: SXClass a => a -> Vector SXElement -> SparsityType -> IO ()
-sx_get__3 x = casadi__SX__get__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__4" c_casadi__SX__get__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SXElement' -> IO ()
-casadi__SX__get__4
-  :: SX -> SXElement -> IO ()
-casadi__SX__get__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__get__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_get__4 :: SXClass a => a -> SXElement -> IO ()
-sx_get__4 x = casadi__SX__get__4 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__get__5" c_casadi__SX__get__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SXElement' -> CInt -> IO ()
-casadi__SX__get__5
-  :: SX -> SXElement -> SparsityType -> IO ()
-casadi__SX__get__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__get__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_get__5 :: SXClass a => a -> SXElement -> SparsityType -> IO ()
-sx_get__5 x = casadi__SX__get__5 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getElement__0" c_casadi__SX__getElement__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SXElement')
-casadi__SX__getElement__0
-  :: SX -> Int -> IO SXElement
-casadi__SX__getElement__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getElement__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getElement__0 :: SXClass a => a -> Int -> IO SXElement
-sx_getElement__0 x = casadi__SX__getElement__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getElement__1" c_casadi__SX__getElement__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SXElement')
-casadi__SX__getElement__1
-  :: SX -> Int -> Int -> IO SXElement
-casadi__SX__getElement__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getElement__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getElement__1 :: SXClass a => a -> Int -> Int -> IO SXElement
-sx_getElement__1 x = casadi__SX__getElement__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getEqualityCheckingDepth" c_casadi__SX__getEqualityCheckingDepth
-  :: Ptr (Ptr StdString) -> IO CInt
-casadi__SX__getEqualityCheckingDepth
-  :: IO Int
-casadi__SX__getEqualityCheckingDepth  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getEqualityCheckingDepth errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getEqualityCheckingDepth :: IO Int
-sx_getEqualityCheckingDepth = casadi__SX__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getMaxNumCallsInPrint" c_casadi__SX__getMaxNumCallsInPrint
-  :: Ptr (Ptr StdString) -> IO CLong
-casadi__SX__getMaxNumCallsInPrint
-  :: IO Int
-casadi__SX__getMaxNumCallsInPrint  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getMaxNumCallsInPrint errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getMaxNumCallsInPrint :: IO Int
-sx_getMaxNumCallsInPrint = casadi__SX__getMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getNZ__0" c_casadi__SX__getNZ__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__getNZ__0
-  :: SX -> IMatrix -> IO SX
-casadi__SX__getNZ__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getNZ__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getNZ__0 :: SXClass a => a -> IMatrix -> IO SX
-sx_getNZ__0 x = casadi__SX__getNZ__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getNZ__1" c_casadi__SX__getNZ__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__getNZ__1
-  :: SX -> Slice -> IO SX
-casadi__SX__getNZ__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getNZ__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getNZ__1 :: SXClass a => a -> Slice -> IO SX
-sx_getNZ__1 x = casadi__SX__getNZ__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getNZ__2" c_casadi__SX__getNZ__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr SX')
-casadi__SX__getNZ__2
-  :: SX -> Vector Int -> IO SX
-casadi__SX__getNZ__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getNZ__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getNZ__2 :: SXClass a => a -> Vector Int -> IO SX
-sx_getNZ__2 x = casadi__SX__getNZ__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getNZ__3" c_casadi__SX__getNZ__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-casadi__SX__getNZ__3
-  :: SX -> Int -> IO SX
-casadi__SX__getNZ__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getNZ__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getNZ__3 :: SXClass a => a -> Int -> IO SX
-sx_getNZ__3 x = casadi__SX__getNZ__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getName" c_casadi__SX__getName
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
-casadi__SX__getName
-  :: SX -> IO String
-casadi__SX__getName x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getName errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getName :: SXClass a => a -> IO String
-sx_getName x = casadi__SX__getName (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__getValue" c_casadi__SX__getValue
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CDouble
-casadi__SX__getValue
-  :: SX -> IO Double
-casadi__SX__getValue x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__getValue errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_getValue :: SXClass a => a -> IO Double
-sx_getValue x = casadi__SX__getValue (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hasNZ" c_casadi__SX__hasNZ
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO CInt
-casadi__SX__hasNZ
-  :: SX -> Int -> Int -> IO Bool
-casadi__SX__hasNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__hasNZ errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_hasNZ :: SXClass a => a -> Int -> Int -> IO Bool
-sx_hasNZ x = casadi__SX__hasNZ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__hasNonStructuralZeros" c_casadi__SX__hasNonStructuralZeros
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__hasNonStructuralZeros
-  :: SX -> IO Bool
-casadi__SX__hasNonStructuralZeros x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__hasNonStructuralZeros errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_hasNonStructuralZeros :: SXClass a => a -> IO Bool
-sx_hasNonStructuralZeros x = casadi__SX__hasNonStructuralZeros (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__if_else_zero" c_casadi__SX__if_else_zero
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__if_else_zero
-  :: SX -> SX -> IO SX
-casadi__SX__if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__if_else_zero errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_if_else_zero :: SXClass a => a -> SX -> IO SX
-sx_if_else_zero x = casadi__SX__if_else_zero (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed__0" c_casadi__SX__indexed__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__indexed__0
-  :: SX -> Slice -> IO SX
-casadi__SX__indexed__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed__0 :: SXClass a => a -> Slice -> IO SX
-sx_indexed__0 x = casadi__SX__indexed__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed__1" c_casadi__SX__indexed__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__indexed__1
-  :: SX -> Sparsity -> IO SX
-casadi__SX__indexed__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed__1 :: SXClass a => a -> Sparsity -> IO SX
-sx_indexed__1 x = casadi__SX__indexed__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed__2" c_casadi__SX__indexed__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__indexed__2
-  :: SX -> IMatrix -> IMatrix -> IO SX
-casadi__SX__indexed__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed__2 :: SXClass a => a -> IMatrix -> IMatrix -> IO SX
-sx_indexed__2 x = casadi__SX__indexed__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed__3" c_casadi__SX__indexed__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__indexed__3
-  :: SX -> IMatrix -> Slice -> IO SX
-casadi__SX__indexed__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed__3 :: SXClass a => a -> IMatrix -> Slice -> IO SX
-sx_indexed__3 x = casadi__SX__indexed__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed__4" c_casadi__SX__indexed__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__indexed__4
-  :: SX -> Slice -> IMatrix -> IO SX
-casadi__SX__indexed__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed__4 :: SXClass a => a -> Slice -> IMatrix -> IO SX
-sx_indexed__4 x = casadi__SX__indexed__4 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed__5" c_casadi__SX__indexed__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__indexed__5
-  :: SX -> Slice -> Slice -> IO SX
-casadi__SX__indexed__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed__5 :: SXClass a => a -> Slice -> Slice -> IO SX
-sx_indexed__5 x = casadi__SX__indexed__5 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_assignment__0" c_casadi__SX__indexed_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr SX' -> IO ()
-casadi__SX__indexed_assignment__0
-  :: SX -> Slice -> SX -> IO ()
-casadi__SX__indexed_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_assignment__0 :: SXClass a => a -> Slice -> SX -> IO ()
-sx_indexed_assignment__0 x = casadi__SX__indexed_assignment__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_assignment__1" c_casadi__SX__indexed_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> Ptr SX' -> IO ()
-casadi__SX__indexed_assignment__1
-  :: SX -> Sparsity -> SX -> IO ()
-casadi__SX__indexed_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_assignment__1 :: SXClass a => a -> Sparsity -> SX -> IO ()
-sx_indexed_assignment__1 x = casadi__SX__indexed_assignment__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_assignment__2" c_casadi__SX__indexed_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casadi__SX__indexed_assignment__2
-  :: SX -> IMatrix -> IMatrix -> SX -> IO ()
-casadi__SX__indexed_assignment__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_assignment__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_assignment__2 :: SXClass a => a -> IMatrix -> IMatrix -> SX -> IO ()
-sx_indexed_assignment__2 x = casadi__SX__indexed_assignment__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_assignment__3" c_casadi__SX__indexed_assignment__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr Slice' -> Ptr SX' -> IO ()
-casadi__SX__indexed_assignment__3
-  :: SX -> IMatrix -> Slice -> SX -> IO ()
-casadi__SX__indexed_assignment__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_assignment__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_assignment__3 :: SXClass a => a -> IMatrix -> Slice -> SX -> IO ()
-sx_indexed_assignment__3 x = casadi__SX__indexed_assignment__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_assignment__4" c_casadi__SX__indexed_assignment__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casadi__SX__indexed_assignment__4
-  :: SX -> Slice -> IMatrix -> SX -> IO ()
-casadi__SX__indexed_assignment__4 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_assignment__4 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_assignment__4 :: SXClass a => a -> Slice -> IMatrix -> SX -> IO ()
-sx_indexed_assignment__4 x = casadi__SX__indexed_assignment__4 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_assignment__5" c_casadi__SX__indexed_assignment__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr Slice' -> Ptr SX' -> IO ()
-casadi__SX__indexed_assignment__5
-  :: SX -> Slice -> Slice -> SX -> IO ()
-casadi__SX__indexed_assignment__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_assignment__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_assignment__5 :: SXClass a => a -> Slice -> Slice -> SX -> IO ()
-sx_indexed_assignment__5 x = casadi__SX__indexed_assignment__5 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_one_based__0" c_casadi__SX__indexed_one_based__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-casadi__SX__indexed_one_based__0
-  :: SX -> Int -> IO SX
-casadi__SX__indexed_one_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_one_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_one_based__0 :: SXClass a => a -> Int -> IO SX
-sx_indexed_one_based__0 x = casadi__SX__indexed_one_based__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_one_based__1" c_casadi__SX__indexed_one_based__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__indexed_one_based__1
-  :: SX -> Int -> Int -> IO SX
-casadi__SX__indexed_one_based__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_one_based__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_one_based__1 :: SXClass a => a -> Int -> Int -> IO SX
-sx_indexed_one_based__1 x = casadi__SX__indexed_one_based__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_one_based__2" c_casadi__SX__indexed_one_based__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__indexed_one_based__2
-  :: SX -> IMatrix -> IO SX
-casadi__SX__indexed_one_based__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_one_based__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_one_based__2 :: SXClass a => a -> IMatrix -> IO SX
-sx_indexed_one_based__2 x = casadi__SX__indexed_one_based__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_one_based_assignment__0" c_casadi__SX__indexed_one_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr SXElement' -> IO ()
-casadi__SX__indexed_one_based_assignment__0
-  :: SX -> Int -> SXElement -> IO ()
-casadi__SX__indexed_one_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_one_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_one_based_assignment__0 :: SXClass a => a -> Int -> SXElement -> IO ()
-sx_indexed_one_based_assignment__0 x = casadi__SX__indexed_one_based_assignment__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_one_based_assignment__1" c_casadi__SX__indexed_one_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> Ptr SXElement' -> IO ()
-casadi__SX__indexed_one_based_assignment__1
-  :: SX -> Int -> Int -> SXElement -> IO ()
-casadi__SX__indexed_one_based_assignment__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_one_based_assignment__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_one_based_assignment__1 :: SXClass a => a -> Int -> Int -> SXElement -> IO ()
-sx_indexed_one_based_assignment__1 x = casadi__SX__indexed_one_based_assignment__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_one_based_assignment__2" c_casadi__SX__indexed_one_based_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casadi__SX__indexed_one_based_assignment__2
-  :: SX -> IMatrix -> SX -> IO ()
-casadi__SX__indexed_one_based_assignment__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_one_based_assignment__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_one_based_assignment__2 :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_indexed_one_based_assignment__2 x = casadi__SX__indexed_one_based_assignment__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_zero_based__0" c_casadi__SX__indexed_zero_based__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-casadi__SX__indexed_zero_based__0
-  :: SX -> Int -> IO SX
-casadi__SX__indexed_zero_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_zero_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_zero_based__0 :: SXClass a => a -> Int -> IO SX
-sx_indexed_zero_based__0 x = casadi__SX__indexed_zero_based__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_zero_based__1" c_casadi__SX__indexed_zero_based__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__indexed_zero_based__1
-  :: SX -> Int -> Int -> IO SX
-casadi__SX__indexed_zero_based__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_zero_based__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_zero_based__1 :: SXClass a => a -> Int -> Int -> IO SX
-sx_indexed_zero_based__1 x = casadi__SX__indexed_zero_based__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_zero_based__2" c_casadi__SX__indexed_zero_based__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__indexed_zero_based__2
-  :: SX -> IMatrix -> IO SX
-casadi__SX__indexed_zero_based__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_zero_based__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_zero_based__2 :: SXClass a => a -> IMatrix -> IO SX
-sx_indexed_zero_based__2 x = casadi__SX__indexed_zero_based__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_zero_based_assignment__0" c_casadi__SX__indexed_zero_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr SXElement' -> IO ()
-casadi__SX__indexed_zero_based_assignment__0
-  :: SX -> Int -> SXElement -> IO ()
-casadi__SX__indexed_zero_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_zero_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_zero_based_assignment__0 :: SXClass a => a -> Int -> SXElement -> IO ()
-sx_indexed_zero_based_assignment__0 x = casadi__SX__indexed_zero_based_assignment__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_zero_based_assignment__1" c_casadi__SX__indexed_zero_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> Ptr SXElement' -> IO ()
-casadi__SX__indexed_zero_based_assignment__1
-  :: SX -> Int -> Int -> SXElement -> IO ()
-casadi__SX__indexed_zero_based_assignment__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_zero_based_assignment__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_zero_based_assignment__1 :: SXClass a => a -> Int -> Int -> SXElement -> IO ()
-sx_indexed_zero_based_assignment__1 x = casadi__SX__indexed_zero_based_assignment__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__indexed_zero_based_assignment__2" c_casadi__SX__indexed_zero_based_assignment__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casadi__SX__indexed_zero_based_assignment__2
-  :: SX -> IMatrix -> SX -> IO ()
-casadi__SX__indexed_zero_based_assignment__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__indexed_zero_based_assignment__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_indexed_zero_based_assignment__2 :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_indexed_zero_based_assignment__2 x = casadi__SX__indexed_zero_based_assignment__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__0" c_casadi__SX__inf__0
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-casadi__SX__inf__0
-  :: IO SX
-casadi__SX__inf__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__inf__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_inf__0 :: IO SX
-sx_inf__0 = casadi__SX__inf__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__1" c_casadi__SX__inf__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-casadi__SX__inf__1
-  :: Int -> IO SX
-casadi__SX__inf__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__inf__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_inf__1 :: Int -> IO SX
-sx_inf__1 = casadi__SX__inf__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__2" c_casadi__SX__inf__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__inf__2
-  :: Int -> Int -> IO SX
-casadi__SX__inf__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__inf__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_inf__2 :: Int -> Int -> IO SX
-sx_inf__2 = casadi__SX__inf__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__inf__3" c_casadi__SX__inf__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__inf__3
-  :: Sparsity -> IO SX
-casadi__SX__inf__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__inf__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_inf__3 :: Sparsity -> IO SX
-sx_inf__3 = casadi__SX__inf__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isConstant" c_casadi__SX__isConstant
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isConstant
-  :: SX -> IO Bool
-casadi__SX__isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isConstant errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isConstant :: SXClass a => a -> IO Bool
-sx_isConstant x = casadi__SX__isConstant (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isDense" c_casadi__SX__isDense
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isDense
-  :: SX -> IO Bool
-casadi__SX__isDense x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isDense errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isDense :: SXClass a => a -> IO Bool
-sx_isDense x = casadi__SX__isDense (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isEmpty__0" c_casadi__SX__isEmpty__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isEmpty__0
-  :: SX -> IO Bool
-casadi__SX__isEmpty__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isEmpty__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isEmpty__0 :: SXClass a => a -> IO Bool
-sx_isEmpty__0 x = casadi__SX__isEmpty__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isEmpty__1" c_casadi__SX__isEmpty__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-casadi__SX__isEmpty__1
-  :: SX -> Bool -> IO Bool
-casadi__SX__isEmpty__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isEmpty__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isEmpty__1 :: SXClass a => a -> Bool -> IO Bool
-sx_isEmpty__1 x = casadi__SX__isEmpty__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isEqual" c_casadi__SX__isEqual
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
-casadi__SX__isEqual
-  :: SX -> SX -> IO Bool
-casadi__SX__isEqual x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isEqual errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isEqual :: SXClass a => a -> SX -> IO Bool
-sx_isEqual x = casadi__SX__isEqual (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isIdentity" c_casadi__SX__isIdentity
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isIdentity
-  :: SX -> IO Bool
-casadi__SX__isIdentity x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isIdentity errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isIdentity :: SXClass a => a -> IO Bool
-sx_isIdentity x = casadi__SX__isIdentity (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isInteger" c_casadi__SX__isInteger
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isInteger
-  :: SX -> IO Bool
-casadi__SX__isInteger x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isInteger errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isInteger :: SXClass a => a -> IO Bool
-sx_isInteger x = casadi__SX__isInteger (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isMinusOne" c_casadi__SX__isMinusOne
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isMinusOne
-  :: SX -> IO Bool
-casadi__SX__isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isMinusOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isMinusOne :: SXClass a => a -> IO Bool
-sx_isMinusOne x = casadi__SX__isMinusOne (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isOne" c_casadi__SX__isOne
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isOne
-  :: SX -> IO Bool
-casadi__SX__isOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isOne :: SXClass a => a -> IO Bool
-sx_isOne x = casadi__SX__isOne (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isRegular" c_casadi__SX__isRegular
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isRegular
-  :: SX -> IO Bool
-casadi__SX__isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isRegular errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isRegular :: SXClass a => a -> IO Bool
-sx_isRegular x = casadi__SX__isRegular (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isScalar__0" c_casadi__SX__isScalar__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isScalar__0
-  :: SX -> IO Bool
-casadi__SX__isScalar__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isScalar__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isScalar__0 :: SXClass a => a -> IO Bool
-sx_isScalar__0 x = casadi__SX__isScalar__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isScalar__1" c_casadi__SX__isScalar__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-casadi__SX__isScalar__1
-  :: SX -> Bool -> IO Bool
-casadi__SX__isScalar__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isScalar__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isScalar__1 :: SXClass a => a -> Bool -> IO Bool
-sx_isScalar__1 x = casadi__SX__isScalar__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isSmooth" c_casadi__SX__isSmooth
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isSmooth
-  :: SX -> IO Bool
-casadi__SX__isSmooth x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isSmooth errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isSmooth :: SXClass a => a -> IO Bool
-sx_isSmooth x = casadi__SX__isSmooth (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isSquare" c_casadi__SX__isSquare
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isSquare
-  :: SX -> IO Bool
-casadi__SX__isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isSquare errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isSquare :: SXClass a => a -> IO Bool
-sx_isSquare x = casadi__SX__isSquare (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isSymbolic" c_casadi__SX__isSymbolic
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isSymbolic
-  :: SX -> IO Bool
-casadi__SX__isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isSymbolic errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isSymbolic :: SXClass a => a -> IO Bool
-sx_isSymbolic x = casadi__SX__isSymbolic (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isSymbolicSparse" c_casadi__SX__isSymbolicSparse
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isSymbolicSparse
-  :: SX -> IO Bool
-casadi__SX__isSymbolicSparse x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isSymbolicSparse errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isSymbolicSparse :: SXClass a => a -> IO Bool
-sx_isSymbolicSparse x = casadi__SX__isSymbolicSparse (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isTril" c_casadi__SX__isTril
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isTril
-  :: SX -> IO Bool
-casadi__SX__isTril x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isTril errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isTril :: SXClass a => a -> IO Bool
-sx_isTril x = casadi__SX__isTril (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isTriu" c_casadi__SX__isTriu
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isTriu
-  :: SX -> IO Bool
-casadi__SX__isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isTriu errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isTriu :: SXClass a => a -> IO Bool
-sx_isTriu x = casadi__SX__isTriu (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isVector" c_casadi__SX__isVector
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isVector
-  :: SX -> IO Bool
-casadi__SX__isVector x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isVector errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isVector :: SXClass a => a -> IO Bool
-sx_isVector x = casadi__SX__isVector (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__isZero" c_casadi__SX__isZero
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__isZero
-  :: SX -> IO Bool
-casadi__SX__isZero x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__isZero errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_isZero :: SXClass a => a -> IO Bool
-sx_isZero x = casadi__SX__isZero (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__log" c_casadi__SX__log
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__log
-  :: SX -> IO SX
-casadi__SX__log x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__log errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_log :: SXClass a => a -> IO SX
-sx_log x = casadi__SX__log (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__log10" c_casadi__SX__log10
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__log10
-  :: SX -> IO SX
-casadi__SX__log10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__log10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_log10 :: SXClass a => a -> IO SX
-sx_log10 x = casadi__SX__log10 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__logic_and" c_casadi__SX__logic_and
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__logic_and
-  :: SX -> SX -> IO SX
-casadi__SX__logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__logic_and errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_logic_and :: SXClass a => a -> SX -> IO SX
-sx_logic_and x = casadi__SX__logic_and (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__logic_not" c_casadi__SX__logic_not
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__logic_not
-  :: SX -> IO SX
-casadi__SX__logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__logic_not errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_logic_not :: SXClass a => a -> IO SX
-sx_logic_not x = casadi__SX__logic_not (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__logic_or" c_casadi__SX__logic_or
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__logic_or
-  :: SX -> SX -> IO SX
-casadi__SX__logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__logic_or errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_logic_or :: SXClass a => a -> SX -> IO SX
-sx_logic_or x = casadi__SX__logic_or (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__matrix_matrix" c_casadi__SX__matrix_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__matrix_matrix
-  :: Int -> SX -> SX -> IO SX
-casadi__SX__matrix_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__matrix_matrix errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_matrix_matrix :: Int -> SX -> SX -> IO SX
-sx_matrix_matrix = casadi__SX__matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__matrix_scalar" c_casadi__SX__matrix_scalar
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__matrix_scalar
-  :: Int -> SX -> SX -> IO SX
-casadi__SX__matrix_scalar x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__matrix_scalar errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_matrix_scalar :: Int -> SX -> SX -> IO SX
-sx_matrix_scalar = casadi__SX__matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul__0" c_casadi__SX__mul__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__mul__0
-  :: SX -> SX -> IO SX
-casadi__SX__mul__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul__0 :: SXClass a => a -> SX -> IO SX
-sx_mul__0 x = casadi__SX__mul__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul__1" c_casadi__SX__mul__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__mul__1
-  :: SX -> SX -> Sparsity -> IO SX
-casadi__SX__mul__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul__1 :: SXClass a => a -> SX -> Sparsity -> IO SX
-sx_mul__1 x = casadi__SX__mul__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_full__0" c_casadi__SX__mul_full__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__mul_full__0
-  :: SX -> SX -> IO SX
-casadi__SX__mul_full__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_full__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_full__0 :: SXClass a => a -> SX -> IO SX
-sx_mul_full__0 x = casadi__SX__mul_full__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_full__1" c_casadi__SX__mul_full__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__mul_full__1
-  :: SX -> SX -> Sparsity -> IO SX
-casadi__SX__mul_full__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_full__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_full__1 :: SXClass a => a -> SX -> Sparsity -> IO SX
-sx_mul_full__1 x = casadi__SX__mul_full__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_no_alloc_nn__0" c_casadi__SX__mul_no_alloc_nn__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> IO ()
-casadi__SX__mul_no_alloc_nn__0
-  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-casadi__SX__mul_no_alloc_nn__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_no_alloc_nn__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_no_alloc_nn__0 :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-sx_mul_no_alloc_nn__0 = casadi__SX__mul_no_alloc_nn__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_no_alloc_nn__1" c_casadi__SX__mul_no_alloc_nn__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> IO ()
-casadi__SX__mul_no_alloc_nn__1
-  :: SX -> SX -> SX -> Vector SXElement -> IO ()
-casadi__SX__mul_no_alloc_nn__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_no_alloc_nn__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_no_alloc_nn__1 :: SX -> SX -> SX -> Vector SXElement -> IO ()
-sx_mul_no_alloc_nn__1 = casadi__SX__mul_no_alloc_nn__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_no_alloc_nn__2" c_casadi__SX__mul_no_alloc_nn__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-casadi__SX__mul_no_alloc_nn__2
-  :: SX -> SX -> SX -> IO ()
-casadi__SX__mul_no_alloc_nn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_no_alloc_nn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_no_alloc_nn__2 :: SX -> SX -> SX -> IO ()
-sx_mul_no_alloc_nn__2 = casadi__SX__mul_no_alloc_nn__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_no_alloc_nt" c_casadi__SX__mul_no_alloc_nt
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-casadi__SX__mul_no_alloc_nt
-  :: SX -> SX -> SX -> IO ()
-casadi__SX__mul_no_alloc_nt x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_no_alloc_nt errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_no_alloc_nt :: SX -> SX -> SX -> IO ()
-sx_mul_no_alloc_nt = casadi__SX__mul_no_alloc_nt
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_no_alloc_tn__0" c_casadi__SX__mul_no_alloc_tn__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> IO ()
-casadi__SX__mul_no_alloc_tn__0
-  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-casadi__SX__mul_no_alloc_tn__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_no_alloc_tn__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_no_alloc_tn__0 :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-sx_mul_no_alloc_tn__0 = casadi__SX__mul_no_alloc_tn__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_no_alloc_tn__1" c_casadi__SX__mul_no_alloc_tn__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-casadi__SX__mul_no_alloc_tn__1
-  :: SX -> SX -> SX -> IO ()
-casadi__SX__mul_no_alloc_tn__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_no_alloc_tn__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_no_alloc_tn__1 :: SX -> SX -> SX -> IO ()
-sx_mul_no_alloc_tn__1 = casadi__SX__mul_no_alloc_tn__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__mul_smart" c_casadi__SX__mul_smart
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__mul_smart
-  :: SX -> SX -> Sparsity -> IO SX
-casadi__SX__mul_smart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__mul_smart errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_mul_smart :: SXClass a => a -> SX -> Sparsity -> IO SX
-sx_mul_smart x = casadi__SX__mul_smart (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__0" c_casadi__SX__nan__0
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-casadi__SX__nan__0
-  :: IO SX
-casadi__SX__nan__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nan__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nan__0 :: IO SX
-sx_nan__0 = casadi__SX__nan__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__1" c_casadi__SX__nan__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-casadi__SX__nan__1
-  :: Int -> IO SX
-casadi__SX__nan__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nan__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nan__1 :: Int -> IO SX
-sx_nan__1 = casadi__SX__nan__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__2" c_casadi__SX__nan__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__nan__2
-  :: Int -> Int -> IO SX
-casadi__SX__nan__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nan__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nan__2 :: Int -> Int -> IO SX
-sx_nan__2 = casadi__SX__nan__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nan__3" c_casadi__SX__nan__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__nan__3
-  :: Sparsity -> IO SX
-casadi__SX__nan__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nan__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nan__3 :: Sparsity -> IO SX
-sx_nan__3 = casadi__SX__nan__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__numel" c_casadi__SX__numel
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__numel
-  :: SX -> IO Int
-casadi__SX__numel x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__numel errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_numel :: SXClass a => a -> IO Int
-sx_numel x = casadi__SX__numel (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed" c_casadi__SX__nz_indexed
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__nz_indexed
-  :: SX -> Slice -> IO SX
-casadi__SX__nz_indexed x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed :: SXClass a => a -> Slice -> IO SX
-sx_nz_indexed x = casadi__SX__nz_indexed (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_assignment" c_casadi__SX__nz_indexed_assignment
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr SX' -> IO ()
-casadi__SX__nz_indexed_assignment
-  :: SX -> Slice -> SX -> IO ()
-casadi__SX__nz_indexed_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_assignment errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_assignment :: SXClass a => a -> Slice -> SX -> IO ()
-sx_nz_indexed_assignment x = casadi__SX__nz_indexed_assignment (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_one_based__0" c_casadi__SX__nz_indexed_one_based__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__nz_indexed_one_based__0
-  :: SX -> IMatrix -> IO SX
-casadi__SX__nz_indexed_one_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_one_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_one_based__0 :: SXClass a => a -> IMatrix -> IO SX
-sx_nz_indexed_one_based__0 x = casadi__SX__nz_indexed_one_based__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_one_based__1" c_casadi__SX__nz_indexed_one_based__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-casadi__SX__nz_indexed_one_based__1
-  :: SX -> Int -> IO SX
-casadi__SX__nz_indexed_one_based__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_one_based__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_one_based__1 :: SXClass a => a -> Int -> IO SX
-sx_nz_indexed_one_based__1 x = casadi__SX__nz_indexed_one_based__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_one_based_assignment__0" c_casadi__SX__nz_indexed_one_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casadi__SX__nz_indexed_one_based_assignment__0
-  :: SX -> IMatrix -> SX -> IO ()
-casadi__SX__nz_indexed_one_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_one_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_one_based_assignment__0 :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_nz_indexed_one_based_assignment__0 x = casadi__SX__nz_indexed_one_based_assignment__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_one_based_assignment__1" c_casadi__SX__nz_indexed_one_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr SXElement' -> IO ()
-casadi__SX__nz_indexed_one_based_assignment__1
-  :: SX -> Int -> SXElement -> IO ()
-casadi__SX__nz_indexed_one_based_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_one_based_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_one_based_assignment__1 :: SXClass a => a -> Int -> SXElement -> IO ()
-sx_nz_indexed_one_based_assignment__1 x = casadi__SX__nz_indexed_one_based_assignment__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_zero_based__0" c_casadi__SX__nz_indexed_zero_based__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__nz_indexed_zero_based__0
-  :: SX -> IMatrix -> IO SX
-casadi__SX__nz_indexed_zero_based__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_zero_based__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_zero_based__0 :: SXClass a => a -> IMatrix -> IO SX
-sx_nz_indexed_zero_based__0 x = casadi__SX__nz_indexed_zero_based__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_zero_based__1" c_casadi__SX__nz_indexed_zero_based__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-casadi__SX__nz_indexed_zero_based__1
-  :: SX -> Int -> IO SX
-casadi__SX__nz_indexed_zero_based__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_zero_based__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_zero_based__1 :: SXClass a => a -> Int -> IO SX
-sx_nz_indexed_zero_based__1 x = casadi__SX__nz_indexed_zero_based__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_zero_based_assignment__0" c_casadi__SX__nz_indexed_zero_based_assignment__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casadi__SX__nz_indexed_zero_based_assignment__0
-  :: SX -> IMatrix -> SX -> IO ()
-casadi__SX__nz_indexed_zero_based_assignment__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_zero_based_assignment__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_zero_based_assignment__0 :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_nz_indexed_zero_based_assignment__0 x = casadi__SX__nz_indexed_zero_based_assignment__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__nz_indexed_zero_based_assignment__1" c_casadi__SX__nz_indexed_zero_based_assignment__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr SXElement' -> IO ()
-casadi__SX__nz_indexed_zero_based_assignment__1
-  :: SX -> Int -> SXElement -> IO ()
-casadi__SX__nz_indexed_zero_based_assignment__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__nz_indexed_zero_based_assignment__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_nz_indexed_zero_based_assignment__1 :: SXClass a => a -> Int -> SXElement -> IO ()
-sx_nz_indexed_zero_based_assignment__1 x = casadi__SX__nz_indexed_zero_based_assignment__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__0" c_casadi__SX__ones__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__ones__0
-  :: Sparsity -> IO SX
-casadi__SX__ones__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__ones__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_ones__0 :: Sparsity -> IO SX
-sx_ones__0 = casadi__SX__ones__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__1" c_casadi__SX__ones__1
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-casadi__SX__ones__1
-  :: IO SX
-casadi__SX__ones__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__ones__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_ones__1 :: IO SX
-sx_ones__1 = casadi__SX__ones__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__2" c_casadi__SX__ones__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-casadi__SX__ones__2
-  :: Int -> IO SX
-casadi__SX__ones__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__ones__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_ones__2 :: Int -> IO SX
-sx_ones__2 = casadi__SX__ones__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__ones__3" c_casadi__SX__ones__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__ones__3
-  :: Int -> Int -> IO SX
-casadi__SX__ones__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__ones__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_ones__3 :: Int -> Int -> IO SX
-sx_ones__3 = casadi__SX__ones__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__printDense" c_casadi__SX__printDense
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__printDense
-  :: SX -> IO ()
-casadi__SX__printDense x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__printDense errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_printDense :: SXClass a => a -> IO ()
-sx_printDense x = casadi__SX__printDense (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__printScalar" c_casadi__SX__printScalar
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__printScalar
-  :: SX -> IO ()
-casadi__SX__printScalar x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__printScalar errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_printScalar :: SXClass a => a -> IO ()
-sx_printScalar x = casadi__SX__printScalar (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__printSparse" c_casadi__SX__printSparse
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__printSparse
-  :: SX -> IO ()
-casadi__SX__printSparse x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__printSparse errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_printSparse :: SXClass a => a -> IO ()
-sx_printSparse x = casadi__SX__printSparse (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__printVector" c_casadi__SX__printVector
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__printVector
-  :: SX -> IO ()
-casadi__SX__printVector x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__printVector errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_printVector :: SXClass a => a -> IO ()
-sx_printVector x = casadi__SX__printVector (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__printme" c_casadi__SX__printme
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__printme
-  :: SX -> SX -> IO SX
-casadi__SX__printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__printme errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_printme :: SXClass a => a -> SX -> IO SX
-sx_printme x = casadi__SX__printme (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__quad_form" c_casadi__SX__quad_form
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElement')) -> Ptr SX' -> IO (Ptr SXElement')
-casadi__SX__quad_form
-  :: Vector SXElement -> SX -> IO SXElement
-casadi__SX__quad_form x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__quad_form errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_quad_form :: Vector SXElement -> SX -> IO SXElement
-sx_quad_form = casadi__SX__quad_form
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__remove" c_casadi__SX__remove
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__SX__remove
-  :: SX -> Vector Int -> Vector Int -> IO ()
-casadi__SX__remove x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__remove errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_remove :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
-sx_remove x = casadi__SX__remove (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__repmat__0" c_casadi__SX__repmat__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
-casadi__SX__repmat__0
-  :: SX -> Int -> IO SX
-casadi__SX__repmat__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__repmat__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_repmat__0 :: SX -> Int -> IO SX
-sx_repmat__0 = casadi__SX__repmat__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__repmat__1" c_casadi__SX__repmat__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__repmat__1
-  :: SX -> Int -> Int -> IO SX
-casadi__SX__repmat__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__repmat__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_repmat__1 :: SX -> Int -> Int -> IO SX
-sx_repmat__1 = casadi__SX__repmat__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__repmat__2" c_casadi__SX__repmat__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__repmat__2
-  :: SX -> Sparsity -> IO SX
-casadi__SX__repmat__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__repmat__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_repmat__2 :: SX -> Sparsity -> IO SX
-sx_repmat__2 = casadi__SX__repmat__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__repmat__3" c_casadi__SX__repmat__3
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__repmat__3
-  :: SXElement -> Sparsity -> IO SX
-casadi__SX__repmat__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__repmat__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_repmat__3 :: SXElement -> Sparsity -> IO SX
-sx_repmat__3 = casadi__SX__repmat__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__reserve__0" c_casadi__SX__reserve__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO ()
-casadi__SX__reserve__0
-  :: SX -> Int -> Int -> IO ()
-casadi__SX__reserve__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__reserve__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_reserve__0 :: SXClass a => a -> Int -> Int -> IO ()
-sx_reserve__0 x = casadi__SX__reserve__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__reserve__1" c_casadi__SX__reserve__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO ()
-casadi__SX__reserve__1
-  :: SX -> Int -> IO ()
-casadi__SX__reserve__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__reserve__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_reserve__1 :: SXClass a => a -> Int -> IO ()
-sx_reserve__1 x = casadi__SX__reserve__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__resize" c_casadi__SX__resize
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO ()
-casadi__SX__resize
-  :: SX -> Int -> Int -> IO ()
-casadi__SX__resize x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__resize errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_resize :: SXClass a => a -> Int -> Int -> IO ()
-sx_resize x = casadi__SX__resize (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__row__0" c_casadi__SX__row__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-casadi__SX__row__0
-  :: SX -> Int -> IO Int
-casadi__SX__row__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__row__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_row__0 :: SXClass a => a -> Int -> IO Int
-sx_row__0 x = casadi__SX__row__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__row__1" c_casadi__SX__row__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec CInt))
-casadi__SX__row__1
-  :: SX -> IO (Vector Int)
-casadi__SX__row__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__row__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_row__1 :: SXClass a => a -> IO (Vector Int)
-sx_row__1 x = casadi__SX__row__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sanityCheck__0" c_casadi__SX__sanityCheck__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__sanityCheck__0
-  :: SX -> IO ()
-casadi__SX__sanityCheck__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sanityCheck__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sanityCheck__0 :: SXClass a => a -> IO ()
-sx_sanityCheck__0 x = casadi__SX__sanityCheck__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sanityCheck__1" c_casadi__SX__sanityCheck__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO ()
-casadi__SX__sanityCheck__1
-  :: SX -> Bool -> IO ()
-casadi__SX__sanityCheck__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sanityCheck__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sanityCheck__1 :: SXClass a => a -> Bool -> IO ()
-sx_sanityCheck__1 x = casadi__SX__sanityCheck__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__scalar_matrix" c_casadi__SX__scalar_matrix
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__scalar_matrix
-  :: Int -> SX -> SX -> IO SX
-casadi__SX__scalar_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__scalar_matrix errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_scalar_matrix :: Int -> SX -> SX -> IO SX
-sx_scalar_matrix = casadi__SX__scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__0" c_casadi__SX__set__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
-casadi__SX__set__0
-  :: SX -> SX -> IO ()
-casadi__SX__set__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__set__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_set__0 :: SXClass a => a -> SX -> IO ()
-sx_set__0 x = casadi__SX__set__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__1" c_casadi__SX__set__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO ()
-casadi__SX__set__1
-  :: SX -> SX -> SparsityType -> IO ()
-casadi__SX__set__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__set__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_set__1 :: SXClass a => a -> SX -> SparsityType -> IO ()
-sx_set__1 x = casadi__SX__set__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__2" c_casadi__SX__set__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> IO ()
-casadi__SX__set__2
-  :: SX -> Vector SXElement -> IO ()
-casadi__SX__set__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__set__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_set__2 :: SXClass a => a -> Vector SXElement -> IO ()
-sx_set__2 x = casadi__SX__set__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__3" c_casadi__SX__set__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> CInt -> IO ()
-casadi__SX__set__3
-  :: SX -> Vector SXElement -> SparsityType -> IO ()
-casadi__SX__set__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__set__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_set__3 :: SXClass a => a -> Vector SXElement -> SparsityType -> IO ()
-sx_set__3 x = casadi__SX__set__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__4" c_casadi__SX__set__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SXElement' -> IO ()
-casadi__SX__set__4
-  :: SX -> SXElement -> IO ()
-casadi__SX__set__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__set__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_set__4 :: SXClass a => a -> SXElement -> IO ()
-sx_set__4 x = casadi__SX__set__4 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__set__5" c_casadi__SX__set__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SXElement' -> CInt -> IO ()
-casadi__SX__set__5
-  :: SX -> SXElement -> SparsityType -> IO ()
-casadi__SX__set__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__set__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_set__5 :: SXClass a => a -> SXElement -> SparsityType -> IO ()
-sx_set__5 x = casadi__SX__set__5 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setAll" c_casadi__SX__setAll
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SXElement' -> IO ()
-casadi__SX__setAll
-  :: SX -> SXElement -> IO ()
-casadi__SX__setAll x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setAll errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setAll :: SXClass a => a -> SXElement -> IO ()
-sx_setAll x = casadi__SX__setAll (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setEqualityCheckingDepth__0" c_casadi__SX__setEqualityCheckingDepth__0
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__SX__setEqualityCheckingDepth__0
-  :: IO ()
-casadi__SX__setEqualityCheckingDepth__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setEqualityCheckingDepth__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setEqualityCheckingDepth__0 :: IO ()
-sx_setEqualityCheckingDepth__0 = casadi__SX__setEqualityCheckingDepth__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setEqualityCheckingDepth__1" c_casadi__SX__setEqualityCheckingDepth__1
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__SX__setEqualityCheckingDepth__1
-  :: Int -> IO ()
-casadi__SX__setEqualityCheckingDepth__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setEqualityCheckingDepth__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setEqualityCheckingDepth__1 :: Int -> IO ()
-sx_setEqualityCheckingDepth__1 = casadi__SX__setEqualityCheckingDepth__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setMaxNumCallsInPrint__0" c_casadi__SX__setMaxNumCallsInPrint__0
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__SX__setMaxNumCallsInPrint__0
-  :: IO ()
-casadi__SX__setMaxNumCallsInPrint__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setMaxNumCallsInPrint__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setMaxNumCallsInPrint__0 :: IO ()
-sx_setMaxNumCallsInPrint__0 = casadi__SX__setMaxNumCallsInPrint__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setMaxNumCallsInPrint__1" c_casadi__SX__setMaxNumCallsInPrint__1
-  :: Ptr (Ptr StdString) -> CLong -> IO ()
-casadi__SX__setMaxNumCallsInPrint__1
-  :: Int -> IO ()
-casadi__SX__setMaxNumCallsInPrint__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setMaxNumCallsInPrint__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setMaxNumCallsInPrint__1 :: Int -> IO ()
-sx_setMaxNumCallsInPrint__1 = casadi__SX__setMaxNumCallsInPrint__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setNZ__0" c_casadi__SX__setNZ__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casadi__SX__setNZ__0
-  :: SX -> IMatrix -> SX -> IO ()
-casadi__SX__setNZ__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setNZ__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setNZ__0 :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_setNZ__0 x = casadi__SX__setNZ__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setNZ__1" c_casadi__SX__setNZ__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr SX' -> IO ()
-casadi__SX__setNZ__1
-  :: SX -> Slice -> SX -> IO ()
-casadi__SX__setNZ__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setNZ__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setNZ__1 :: SXClass a => a -> Slice -> SX -> IO ()
-sx_setNZ__1 x = casadi__SX__setNZ__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setNZ__2" c_casadi__SX__setNZ__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr SX' -> IO ()
-casadi__SX__setNZ__2
-  :: SX -> Vector Int -> SX -> IO ()
-casadi__SX__setNZ__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setNZ__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setNZ__2 :: SXClass a => a -> Vector Int -> SX -> IO ()
-sx_setNZ__2 x = casadi__SX__setNZ__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setNZ__3" c_casadi__SX__setNZ__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr SX' -> IO ()
-casadi__SX__setNZ__3
-  :: SX -> Int -> SX -> IO ()
-casadi__SX__setNZ__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setNZ__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setNZ__3 :: SXClass a => a -> Int -> SX -> IO ()
-sx_setNZ__3 x = casadi__SX__setNZ__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setPrecision" c_casadi__SX__setPrecision
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__SX__setPrecision
-  :: Int -> IO ()
-casadi__SX__setPrecision x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setPrecision errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setPrecision :: Int -> IO ()
-sx_setPrecision = casadi__SX__setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setScientific" c_casadi__SX__setScientific
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__SX__setScientific
-  :: Bool -> IO ()
-casadi__SX__setScientific x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setScientific errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setScientific :: Bool -> IO ()
-sx_setScientific = casadi__SX__setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSparse__0" c_casadi__SX__setSparse__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__setSparse__0
-  :: SX -> Sparsity -> IO SX
-casadi__SX__setSparse__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSparse__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSparse__0 :: SXClass a => a -> Sparsity -> IO SX
-sx_setSparse__0 x = casadi__SX__setSparse__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSparse__1" c_casadi__SX__setSparse__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> CInt -> IO (Ptr SX')
-casadi__SX__setSparse__1
-  :: SX -> Sparsity -> Bool -> IO SX
-casadi__SX__setSparse__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSparse__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSparse__1 :: SXClass a => a -> Sparsity -> Bool -> IO SX
-sx_setSparse__1 x = casadi__SX__setSparse__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__0" c_casadi__SX__setSub__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> CInt -> IO ()
-casadi__SX__setSub__0
-  :: SX -> SX -> Sparsity -> Int -> IO ()
-casadi__SX__setSub__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__0 :: SXClass a => a -> SX -> Sparsity -> Int -> IO ()
-sx_setSub__0 x = casadi__SX__setSub__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__1" c_casadi__SX__setSub__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> IO ()
-casadi__SX__setSub__1
-  :: SX -> SX -> Int -> Slice -> IO ()
-casadi__SX__setSub__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__1 :: SXClass a => a -> SX -> Int -> Slice -> IO ()
-sx_setSub__1 x = casadi__SX__setSub__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__2" c_casadi__SX__setSub__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Slice' -> CInt -> IO ()
-casadi__SX__setSub__2
-  :: SX -> SX -> Slice -> Int -> IO ()
-casadi__SX__setSub__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__2 :: SXClass a => a -> SX -> Slice -> Int -> IO ()
-sx_setSub__2 x = casadi__SX__setSub__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__3" c_casadi__SX__setSub__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casadi__SX__setSub__3
-  :: SX -> SX -> IMatrix -> IMatrix -> IO ()
-casadi__SX__setSub__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__3 :: SXClass a => a -> SX -> IMatrix -> IMatrix -> IO ()
-sx_setSub__3 x = casadi__SX__setSub__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__4" c_casadi__SX__setSub__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casadi__SX__setSub__4
-  :: SX -> SX -> Slice -> IMatrix -> IO ()
-casadi__SX__setSub__4 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__4 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__4 :: SXClass a => a -> SX -> Slice -> IMatrix -> IO ()
-sx_setSub__4 x = casadi__SX__setSub__4 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__5" c_casadi__SX__setSub__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr IMatrix' -> Ptr Slice' -> IO ()
-casadi__SX__setSub__5
-  :: SX -> SX -> IMatrix -> Slice -> IO ()
-casadi__SX__setSub__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__5 :: SXClass a => a -> SX -> IMatrix -> Slice -> IO ()
-sx_setSub__5 x = casadi__SX__setSub__5 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__6" c_casadi__SX__setSub__6
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IMatrix' -> IO ()
-casadi__SX__setSub__6
-  :: SX -> SX -> Int -> IMatrix -> IO ()
-casadi__SX__setSub__6 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__6 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__6 :: SXClass a => a -> SX -> Int -> IMatrix -> IO ()
-sx_setSub__6 x = casadi__SX__setSub__6 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__7" c_casadi__SX__setSub__7
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO ()
-casadi__SX__setSub__7
-  :: SX -> SX -> Vector Int -> IMatrix -> IO ()
-casadi__SX__setSub__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__7 :: SXClass a => a -> SX -> Vector Int -> IMatrix -> IO ()
-sx_setSub__7 x = casadi__SX__setSub__7 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__8" c_casadi__SX__setSub__8
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr IMatrix' -> CInt -> IO ()
-casadi__SX__setSub__8
-  :: SX -> SX -> IMatrix -> Int -> IO ()
-casadi__SX__setSub__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__8 :: SXClass a => a -> SX -> IMatrix -> Int -> IO ()
-sx_setSub__8 x = casadi__SX__setSub__8 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__9" c_casadi__SX__setSub__9
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO ()
-casadi__SX__setSub__9
-  :: SX -> SX -> IMatrix -> Vector Int -> IO ()
-casadi__SX__setSub__9 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__9 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__9 :: SXClass a => a -> SX -> IMatrix -> Vector Int -> IO ()
-sx_setSub__9 x = casadi__SX__setSub__9 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__10" c_casadi__SX__setSub__10
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Slice' -> Ptr Slice' -> IO ()
-casadi__SX__setSub__10
-  :: SX -> SX -> Slice -> Slice -> IO ()
-casadi__SX__setSub__10 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__10 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__10 :: SXClass a => a -> SX -> Slice -> Slice -> IO ()
-sx_setSub__10 x = casadi__SX__setSub__10 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__11" c_casadi__SX__setSub__11
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr Slice' -> IO ()
-casadi__SX__setSub__11
-  :: SX -> SX -> Vector Int -> Slice -> IO ()
-casadi__SX__setSub__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__11 :: SXClass a => a -> SX -> Vector Int -> Slice -> IO ()
-sx_setSub__11 x = casadi__SX__setSub__11 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__12" c_casadi__SX__setSub__12
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Slice' -> Ptr (StdVec CInt) -> IO ()
-casadi__SX__setSub__12
-  :: SX -> SX -> Slice -> Vector Int -> IO ()
-casadi__SX__setSub__12 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__12 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__12 :: SXClass a => a -> SX -> Slice -> Vector Int -> IO ()
-sx_setSub__12 x = casadi__SX__setSub__12 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__13" c_casadi__SX__setSub__13
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__SX__setSub__13
-  :: SX -> SX -> Vector Int -> Vector Int -> IO ()
-casadi__SX__setSub__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__13 :: SXClass a => a -> SX -> Vector Int -> Vector Int -> IO ()
-sx_setSub__13 x = casadi__SX__setSub__13 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__14" c_casadi__SX__setSub__14
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr (StdVec CInt) -> IO ()
-casadi__SX__setSub__14
-  :: SX -> SX -> Int -> Vector Int -> IO ()
-casadi__SX__setSub__14 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__14 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__14 :: SXClass a => a -> SX -> Int -> Vector Int -> IO ()
-sx_setSub__14 x = casadi__SX__setSub__14 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__15" c_casadi__SX__setSub__15
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CInt) -> CInt -> IO ()
-casadi__SX__setSub__15
-  :: SX -> SX -> Vector Int -> Int -> IO ()
-casadi__SX__setSub__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__15 :: SXClass a => a -> SX -> Vector Int -> Int -> IO ()
-sx_setSub__15 x = casadi__SX__setSub__15 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setSub__16" c_casadi__SX__setSub__16
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> CInt -> IO ()
-casadi__SX__setSub__16
-  :: SX -> SX -> Int -> Int -> IO ()
-casadi__SX__setSub__16 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setSub__16 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setSub__16 :: SXClass a => a -> SX -> Int -> Int -> IO ()
-sx_setSub__16 x = casadi__SX__setSub__16 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setWidth" c_casadi__SX__setWidth
-  :: Ptr (Ptr StdString) -> CInt -> IO ()
-casadi__SX__setWidth
-  :: Int -> IO ()
-casadi__SX__setWidth x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setWidth errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setWidth :: Int -> IO ()
-sx_setWidth = casadi__SX__setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__setZero" c_casadi__SX__setZero
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__setZero
-  :: SX -> IO ()
-casadi__SX__setZero x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__setZero errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_setZero :: SXClass a => a -> IO ()
-sx_setZero x = casadi__SX__setZero (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sign" c_casadi__SX__sign
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__sign
-  :: SX -> IO SX
-casadi__SX__sign x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sign errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sign :: SXClass a => a -> IO SX
-sx_sign x = casadi__SX__sign (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sin" c_casadi__SX__sin
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__sin
-  :: SX -> IO SX
-casadi__SX__sin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sin :: SXClass a => a -> IO SX
-sx_sin x = casadi__SX__sin (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sinh" c_casadi__SX__sinh
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__sinh
-  :: SX -> IO SX
-casadi__SX__sinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sinh :: SXClass a => a -> IO SX
-sx_sinh x = casadi__SX__sinh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__size__0" c_casadi__SX__size__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
-casadi__SX__size__0
-  :: SX -> SparsityType -> IO Int
-casadi__SX__size__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__size__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_size__0 :: SXClass a => a -> SparsityType -> IO Int
-sx_size__0 x = casadi__SX__size__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__size__1" c_casadi__SX__size__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__size__1
-  :: SX -> IO Int
-casadi__SX__size__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__size__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_size__1 :: SXClass a => a -> IO Int
-sx_size__1 x = casadi__SX__size__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__size1" c_casadi__SX__size1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__size1
-  :: SX -> IO Int
-casadi__SX__size1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__size1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_size1 :: SXClass a => a -> IO Int
-sx_size1 x = casadi__SX__size1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__size2" c_casadi__SX__size2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__size2
-  :: SX -> IO Int
-casadi__SX__size2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__size2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_size2 :: SXClass a => a -> IO Int
-sx_size2 x = casadi__SX__size2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sizeD" c_casadi__SX__sizeD
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__sizeD
-  :: SX -> IO Int
-casadi__SX__sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sizeD errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sizeD :: SXClass a => a -> IO Int
-sx_sizeD x = casadi__SX__sizeD (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sizeL" c_casadi__SX__sizeL
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__sizeL
-  :: SX -> IO Int
-casadi__SX__sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sizeL errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sizeL :: SXClass a => a -> IO Int
-sx_sizeL x = casadi__SX__sizeL (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sizeU" c_casadi__SX__sizeU
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-casadi__SX__sizeU
-  :: SX -> IO Int
-casadi__SX__sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sizeU errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sizeU :: SXClass a => a -> IO Int
-sx_sizeU x = casadi__SX__sizeU (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparse__0" c_casadi__SX__sparse__0
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-casadi__SX__sparse__0
-  :: IO SX
-casadi__SX__sparse__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparse__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparse__0 :: IO SX
-sx_sparse__0 = casadi__SX__sparse__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparse__1" c_casadi__SX__sparse__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-casadi__SX__sparse__1
-  :: Int -> IO SX
-casadi__SX__sparse__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparse__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparse__1 :: Int -> IO SX
-sx_sparse__1 = casadi__SX__sparse__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparse__2" c_casadi__SX__sparse__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__sparse__2
-  :: Int -> Int -> IO SX
-casadi__SX__sparse__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparse__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparse__2 :: Int -> Int -> IO SX
-sx_sparse__2 = casadi__SX__sparse__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparsify__0" c_casadi__SX__sparsify__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-casadi__SX__sparsify__0
-  :: SX -> IO ()
-casadi__SX__sparsify__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparsify__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparsify__0 :: SXClass a => a -> IO ()
-sx_sparsify__0 x = casadi__SX__sparsify__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparsify__1" c_casadi__SX__sparsify__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CDouble -> IO ()
-casadi__SX__sparsify__1
-  :: SX -> Double -> IO ()
-casadi__SX__sparsify__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparsify__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparsify__1 :: SXClass a => a -> Double -> IO ()
-sx_sparsify__1 x = casadi__SX__sparsify__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparsity__0" c_casadi__SX__sparsity__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
-casadi__SX__sparsity__0
-  :: SX -> IO Sparsity
-casadi__SX__sparsity__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparsity__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparsity__0 :: SXClass a => a -> IO Sparsity
-sx_sparsity__0 x = casadi__SX__sparsity__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparsity__1" c_casadi__SX__sparsity__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
-casadi__SX__sparsity__1
-  :: SX -> IO Sparsity
-casadi__SX__sparsity__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparsity__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparsity__1 :: SXClass a => a -> IO Sparsity
-sx_sparsity__1 x = casadi__SX__sparsity__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparsityRef__0" c_casadi__SX__sparsityRef__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
-casadi__SX__sparsityRef__0
-  :: SX -> IO Sparsity
-casadi__SX__sparsityRef__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparsityRef__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparsityRef__0 :: SXClass a => a -> IO Sparsity
-sx_sparsityRef__0 x = casadi__SX__sparsityRef__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sparsityRef__1" c_casadi__SX__sparsityRef__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
-casadi__SX__sparsityRef__1
-  :: SX -> IO Sparsity
-casadi__SX__sparsityRef__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sparsityRef__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sparsityRef__1 :: SXClass a => a -> IO Sparsity
-sx_sparsityRef__1 x = casadi__SX__sparsityRef__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sqrt" c_casadi__SX__sqrt
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__sqrt
-  :: SX -> IO SX
-casadi__SX__sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sqrt errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sqrt :: SXClass a => a -> IO SX
-sx_sqrt x = casadi__SX__sqrt (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__0" c_casadi__SX__sub__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__sub__0
-  :: SX -> Sparsity -> IO SX
-casadi__SX__sub__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__0 :: SXClass a => a -> Sparsity -> IO SX
-sx_sub__0 x = casadi__SX__sub__0 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__1" c_casadi__SX__sub__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> CInt -> IO (Ptr SX')
-casadi__SX__sub__1
-  :: SX -> Sparsity -> Int -> IO SX
-casadi__SX__sub__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__1 :: SXClass a => a -> Sparsity -> Int -> IO SX
-sx_sub__1 x = casadi__SX__sub__1 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__2" c_casadi__SX__sub__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__sub__2
-  :: SX -> IMatrix -> IMatrix -> IO SX
-casadi__SX__sub__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__2 :: SXClass a => a -> IMatrix -> IMatrix -> IO SX
-sx_sub__2 x = casadi__SX__sub__2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__3" c_casadi__SX__sub__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__sub__3
-  :: SX -> Slice -> IMatrix -> IO SX
-casadi__SX__sub__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__3 :: SXClass a => a -> Slice -> IMatrix -> IO SX
-sx_sub__3 x = casadi__SX__sub__3 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__4" c_casadi__SX__sub__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__sub__4
-  :: SX -> IMatrix -> Slice -> IO SX
-casadi__SX__sub__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__4 :: SXClass a => a -> IMatrix -> Slice -> IO SX
-sx_sub__4 x = casadi__SX__sub__4 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__5" c_casadi__SX__sub__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__sub__5
-  :: SX -> Int -> IMatrix -> IO SX
-casadi__SX__sub__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__5 :: SXClass a => a -> Int -> IMatrix -> IO SX
-sx_sub__5 x = casadi__SX__sub__5 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__6" c_casadi__SX__sub__6
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr IMatrix' -> IO (Ptr SX')
-casadi__SX__sub__6
-  :: SX -> Vector Int -> IMatrix -> IO SX
-casadi__SX__sub__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__6 :: SXClass a => a -> Vector Int -> IMatrix -> IO SX
-sx_sub__6 x = casadi__SX__sub__6 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__7" c_casadi__SX__sub__7
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> CInt -> IO (Ptr SX')
-casadi__SX__sub__7
-  :: SX -> IMatrix -> Int -> IO SX
-casadi__SX__sub__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__7 :: SXClass a => a -> IMatrix -> Int -> IO SX
-sx_sub__7 x = casadi__SX__sub__7 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__8" c_casadi__SX__sub__8
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr SX')
-casadi__SX__sub__8
-  :: SX -> IMatrix -> Vector Int -> IO SX
-casadi__SX__sub__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__8 :: SXClass a => a -> IMatrix -> Vector Int -> IO SX
-sx_sub__8 x = casadi__SX__sub__8 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__9" c_casadi__SX__sub__9
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__sub__9
-  :: SX -> Int -> Slice -> IO SX
-casadi__SX__sub__9 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__9 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__9 :: SXClass a => a -> Int -> Slice -> IO SX
-sx_sub__9 x = casadi__SX__sub__9 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__10" c_casadi__SX__sub__10
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> CInt -> IO (Ptr SX')
-casadi__SX__sub__10
-  :: SX -> Slice -> Int -> IO SX
-casadi__SX__sub__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__10 :: SXClass a => a -> Slice -> Int -> IO SX
-sx_sub__10 x = casadi__SX__sub__10 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__11" c_casadi__SX__sub__11
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__sub__11
-  :: SX -> Slice -> Slice -> IO SX
-casadi__SX__sub__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__11 :: SXClass a => a -> Slice -> Slice -> IO SX
-sx_sub__11 x = casadi__SX__sub__11 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__12" c_casadi__SX__sub__12
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr Slice' -> IO (Ptr SX')
-casadi__SX__sub__12
-  :: SX -> Vector Int -> Slice -> IO SX
-casadi__SX__sub__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__12 :: SXClass a => a -> Vector Int -> Slice -> IO SX
-sx_sub__12 x = casadi__SX__sub__12 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__13" c_casadi__SX__sub__13
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Slice' -> Ptr (StdVec CInt) -> IO (Ptr SX')
-casadi__SX__sub__13
-  :: SX -> Slice -> Vector Int -> IO SX
-casadi__SX__sub__13 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__13 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__13 :: SXClass a => a -> Slice -> Vector Int -> IO SX
-sx_sub__13 x = casadi__SX__sub__13 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__14" c_casadi__SX__sub__14
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr SX')
-casadi__SX__sub__14
-  :: SX -> Vector Int -> Vector Int -> IO SX
-casadi__SX__sub__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__14 :: SXClass a => a -> Vector Int -> Vector Int -> IO SX
-sx_sub__14 x = casadi__SX__sub__14 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__15" c_casadi__SX__sub__15
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr SX')
-casadi__SX__sub__15
-  :: SX -> Int -> Vector Int -> IO SX
-casadi__SX__sub__15 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__15 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__15 :: SXClass a => a -> Int -> Vector Int -> IO SX
-sx_sub__15 x = casadi__SX__sub__15 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__16" c_casadi__SX__sub__16
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr SX')
-casadi__SX__sub__16
-  :: SX -> Vector Int -> Int -> IO SX
-casadi__SX__sub__16 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__16 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__16 :: SXClass a => a -> Vector Int -> Int -> IO SX
-sx_sub__16 x = casadi__SX__sub__16 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sub__17" c_casadi__SX__sub__17
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__sub__17
-  :: SX -> Int -> Int -> IO SX
-casadi__SX__sub__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sub__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sub__17 :: SXClass a => a -> Int -> Int -> IO SX
-sx_sub__17 x = casadi__SX__sub__17 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__0" c_casadi__SX__sym__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-casadi__SX__sym__0
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
-casadi__SX__sym__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sym__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
-sx_sym__0 = casadi__SX__sym__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__1" c_casadi__SX__sym__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-casadi__SX__sym__1
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
-casadi__SX__sym__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sym__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
-sx_sym__1 = casadi__SX__sym__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__2" c_casadi__SX__sym__2
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-casadi__SX__sym__2
-  :: String -> Int -> Int -> Int -> IO (Vector SX)
-casadi__SX__sym__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sym__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sym__2 :: String -> Int -> Int -> Int -> IO (Vector SX)
-sx_sym__2 = casadi__SX__sym__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__3" c_casadi__SX__sym__3
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-casadi__SX__sym__3
-  :: String -> Sparsity -> Int -> IO (Vector SX)
-casadi__SX__sym__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sym__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sym__3 :: String -> Sparsity -> Int -> IO (Vector SX)
-sx_sym__3 = casadi__SX__sym__3
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__4" c_casadi__SX__sym__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__sym__4
-  :: String -> Sparsity -> IO SX
-casadi__SX__sym__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sym__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sym__4 :: String -> Sparsity -> IO SX
-sx_sym__4 = casadi__SX__sym__4
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__5" c_casadi__SX__sym__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr SX')
-casadi__SX__sym__5
-  :: String -> IO SX
-casadi__SX__sym__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sym__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sym__5 :: String -> IO SX
-sx_sym__5 = casadi__SX__sym__5
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__6" c_casadi__SX__sym__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr SX')
-casadi__SX__sym__6
-  :: String -> Int -> IO SX
-casadi__SX__sym__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sym__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sym__6 :: String -> Int -> IO SX
-sx_sym__6 = casadi__SX__sym__6
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__sym__7" c_casadi__SX__sym__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__sym__7
-  :: String -> Int -> Int -> IO SX
-casadi__SX__sym__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__sym__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_sym__7 :: String -> Int -> Int -> IO SX
-sx_sym__7 = casadi__SX__sym__7
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tan" c_casadi__SX__tan
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__tan
-  :: SX -> IO SX
-casadi__SX__tan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__tan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_tan :: SXClass a => a -> IO SX
-sx_tan x = casadi__SX__tan (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__tanh" c_casadi__SX__tanh
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__tanh
-  :: SX -> IO SX
-casadi__SX__tanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__tanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_tanh :: SXClass a => a -> IO SX
-sx_tanh x = casadi__SX__tanh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__toScalar" c_casadi__SX__toScalar
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SXElement')
-casadi__SX__toScalar
-  :: SX -> IO SXElement
-casadi__SX__toScalar x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__toScalar errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_toScalar :: SXClass a => a -> IO SXElement
-sx_toScalar x = casadi__SX__toScalar (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__trans" c_casadi__SX__trans
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__trans
-  :: SX -> IO SX
-casadi__SX__trans x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__trans errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_trans :: SXClass a => a -> IO SX
-sx_trans x = casadi__SX__trans (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__triplet__0" c_casadi__SX__triplet__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec (Ptr SXElement')) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__triplet__0
-  :: Vector Int -> Vector Int -> Vector SXElement -> Int -> Int -> IO SX
-casadi__SX__triplet__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__triplet__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_triplet__0 :: Vector Int -> Vector Int -> Vector SXElement -> Int -> Int -> IO SX
-sx_triplet__0 = casadi__SX__triplet__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__triplet__1" c_casadi__SX__triplet__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec (Ptr SXElement')) -> IO (Ptr SX')
-casadi__SX__triplet__1
-  :: Vector Int -> Vector Int -> Vector SXElement -> IO SX
-casadi__SX__triplet__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__triplet__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_triplet__1 :: Vector Int -> Vector Int -> Vector SXElement -> IO SX
-sx_triplet__1 = casadi__SX__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__unary" c_casadi__SX__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> IO (Ptr SX')
-casadi__SX__unary
-  :: Int -> SX -> IO SX
-casadi__SX__unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__unary errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_unary :: Int -> SX -> IO SX
-sx_unary = casadi__SX__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__0" c_casadi__SX__zeros__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
-casadi__SX__zeros__0
-  :: Sparsity -> IO SX
-casadi__SX__zeros__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__zeros__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_zeros__0 :: Sparsity -> IO SX
-sx_zeros__0 = casadi__SX__zeros__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__1" c_casadi__SX__zeros__1
-  :: Ptr (Ptr StdString) -> IO (Ptr SX')
-casadi__SX__zeros__1
-  :: IO SX
-casadi__SX__zeros__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__zeros__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_zeros__1 :: IO SX
-sx_zeros__1 = casadi__SX__zeros__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__2" c_casadi__SX__zeros__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
-casadi__SX__zeros__2
-  :: Int -> IO SX
-casadi__SX__zeros__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__zeros__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_zeros__2 :: Int -> IO SX
-sx_zeros__2 = casadi__SX__zeros__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SX__zeros__3" c_casadi__SX__zeros__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
-casadi__SX__zeros__3
-  :: Int -> Int -> IO SX
-casadi__SX__zeros__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SX__zeros__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sx_zeros__3 :: Int -> Int -> IO SX
-sx_zeros__3 = casadi__SX__zeros__3
+         sx_T,
+         sx__0,
+         sx__1,
+         sx__10,
+         sx__11,
+         sx__12,
+         sx__13,
+         sx__2,
+         sx__3,
+         sx__4,
+         sx__5,
+         sx__6,
+         sx__7,
+         sx__8,
+         sx__9,
+         sx___constpow__,
+         sx___copysign__,
+         sx___mldivide__,
+         sx___mrdivide__,
+         sx___nonzero__,
+         sx___truediv____0,
+         sx___truediv____1,
+         sx_append,
+         sx_appendColumns,
+         sx_binary,
+         sx_className,
+         sx_clear,
+         sx_colind__0,
+         sx_colind__1,
+         sx_data__0,
+         sx_data__1,
+         sx_dimString,
+         sx_enlarge__0,
+         sx_enlarge__1,
+         sx_erase__0,
+         sx_erase__1,
+         sx_erase__2,
+         sx_erase__3,
+         sx_eye,
+         sx_getDep__0,
+         sx_getDep__1,
+         sx_getDescription,
+         sx_getElementHash,
+         sx_getEqualityCheckingDepth,
+         sx_getMaxNumCallsInPrint,
+         sx_getNZ__0,
+         sx_getNZ__1,
+         sx_getName,
+         sx_getNdeps,
+         sx_getRepresentation,
+         sx_getSub__0,
+         sx_getSub__1,
+         sx_getSub__2,
+         sx_getSub__3,
+         sx_getSub__4,
+         sx_getSub__5,
+         sx_getSub__6,
+         sx_getValue,
+         sx_get__0,
+         sx_get__1,
+         sx_get__2,
+         sx_get__3,
+         sx_hasNZ,
+         sx_hasNonStructuralZeros,
+         sx_inf__0,
+         sx_inf__1,
+         sx_inf__2,
+         sx_inf__3,
+         sx_isCommutative,
+         sx_isConstant,
+         sx_isDense,
+         sx_isEmpty__0,
+         sx_isEmpty__1,
+         sx_isIdentity,
+         sx_isInteger,
+         sx_isLeaf,
+         sx_isMinusOne,
+         sx_isOne,
+         sx_isRegular,
+         sx_isScalar__0,
+         sx_isScalar__1,
+         sx_isSlice__0,
+         sx_isSlice__1,
+         sx_isSmooth,
+         sx_isSquare,
+         sx_isSymbolic,
+         sx_isSymbolicSparse,
+         sx_isTril,
+         sx_isTriu,
+         sx_isVector,
+         sx_isZero,
+         sx_makeDense,
+         sx_makeSparse__0,
+         sx_makeSparse__1,
+         sx_matrix_matrix,
+         sx_matrix_scalar,
+         sx_mul_no_alloc__0,
+         sx_mul_no_alloc__1,
+         sx_mul_no_alloc__2,
+         sx_mul_no_alloc__3,
+         sx_mul_no_alloc_nn__0,
+         sx_mul_no_alloc_nn__1,
+         sx_mul_no_alloc_nt,
+         sx_mul_no_alloc_tn__0,
+         sx_mul_no_alloc_tn__1,
+         sx_nan__0,
+         sx_nan__1,
+         sx_nan__2,
+         sx_nan__3,
+         sx_numel__0,
+         sx_numel__1,
+         sx_ones__0,
+         sx_ones__1,
+         sx_ones__2,
+         sx_ones__3,
+         sx_printDense,
+         sx_printScalar,
+         sx_printSparse,
+         sx_printVector,
+         sx_printme,
+         sx_remove,
+         sx_repmat__0,
+         sx_repmat__1,
+         sx_repmat__2,
+         sx_reserve__0,
+         sx_reserve__1,
+         sx_resize,
+         sx_row__0,
+         sx_row__1,
+         sx_sanityCheck__0,
+         sx_sanityCheck__1,
+         sx_scalar_matrix,
+         sx_setEqualityCheckingDepth__0,
+         sx_setEqualityCheckingDepth__1,
+         sx_setMaxNumCallsInPrint__0,
+         sx_setMaxNumCallsInPrint__1,
+         sx_setNZ__0,
+         sx_setNZ__1,
+         sx_setPrecision,
+         sx_setScientific,
+         sx_setSparse__0,
+         sx_setSparse__1,
+         sx_setSub__0,
+         sx_setSub__1,
+         sx_setSub__2,
+         sx_setSub__3,
+         sx_setSub__4,
+         sx_setSub__5,
+         sx_setSub__6,
+         sx_setWidth,
+         sx_setZero,
+         sx_set__0,
+         sx_set__1,
+         sx_set__2,
+         sx_set__3,
+         sx_size1,
+         sx_size2,
+         sx_sizeD,
+         sx_sizeL,
+         sx_sizeU,
+         sx_size__0,
+         sx_size__1,
+         sx_sparse__0,
+         sx_sparse__1,
+         sx_sparse__2,
+         sx_sparse__3,
+         sx_sparsityRef__0,
+         sx_sparsityRef__1,
+         sx_sparsity__0,
+         sx_sparsity__1,
+         sx_sym__0,
+         sx_sym__1,
+         sx_sym__2,
+         sx_sym__3,
+         sx_sym__4,
+         sx_sym__5,
+         sx_sym__6,
+         sx_sym__7,
+         sx_toSlice__0,
+         sx_toSlice__1,
+         sx_triplet__0,
+         sx_triplet__1,
+         sx_unary,
+         sx_zeros__0,
+         sx_zeros__1,
+         sx_zeros__2,
+         sx_zeros__3,
+         sx_zz_abs,
+         sx_zz_acos,
+         sx_zz_acosh,
+         sx_zz_addMultiple__0,
+         sx_zz_addMultiple__1,
+         sx_zz_adj,
+         sx_zz_all,
+         sx_zz_and,
+         sx_zz_any,
+         sx_zz_asin,
+         sx_zz_asinh,
+         sx_zz_atan,
+         sx_zz_atan2,
+         sx_zz_atanh,
+         sx_zz_blockcat,
+         sx_zz_blocksplit,
+         sx_zz_ceil,
+         sx_zz_cofactor,
+         sx_zz_cos,
+         sx_zz_cosh,
+         sx_zz_countNodes,
+         sx_zz_cross__0,
+         sx_zz_cross__1,
+         sx_zz_dense,
+         sx_zz_dependsOn,
+         sx_zz_det,
+         sx_zz_diag,
+         sx_zz_diagcat,
+         sx_zz_diagsplit,
+         sx_zz_eig_symbolic,
+         sx_zz_eq,
+         sx_zz_erf,
+         sx_zz_erfinv,
+         sx_zz_exp,
+         sx_zz_expand,
+         sx_zz_extractShared__0,
+         sx_zz_extractShared__1,
+         sx_zz_extractShared__2,
+         sx_zz_floor,
+         sx_zz_gauss_quadrature__0,
+         sx_zz_gauss_quadrature__1,
+         sx_zz_gauss_quadrature__2,
+         sx_zz_ge,
+         sx_zz_getMinor,
+         sx_zz_getOperatorRepresentation,
+         sx_zz_getSymbols__0,
+         sx_zz_getSymbols__1,
+         sx_zz_gradient,
+         sx_zz_gt,
+         sx_zz_heaviside,
+         sx_zz_hessian__0,
+         sx_zz_hessian__1,
+         sx_zz_horzcat,
+         sx_zz_horzsplit,
+         sx_zz_if_else,
+         sx_zz_if_else_zero,
+         sx_zz_inner_prod,
+         sx_zz_inv,
+         sx_zz_isEqual__0,
+         sx_zz_isEqual__1,
+         sx_zz_jacobian,
+         sx_zz_jacobianTimesVector__0,
+         sx_zz_jacobianTimesVector__1,
+         sx_zz_kron,
+         sx_zz_le,
+         sx_zz_linspace,
+         sx_zz_log,
+         sx_zz_log10,
+         sx_zz_lt,
+         sx_zz_max,
+         sx_zz_min,
+         sx_zz_minus,
+         sx_zz_mod,
+         sx_zz_mpower,
+         sx_zz_mtaylor__0,
+         sx_zz_mtaylor__1,
+         sx_zz_mtaylor__2,
+         sx_zz_mtimes__0,
+         sx_zz_mtimes__1,
+         sx_zz_ne,
+         sx_zz_norm_0_mul_nn,
+         sx_zz_norm_1,
+         sx_zz_norm_2,
+         sx_zz_norm_F,
+         sx_zz_norm_inf,
+         sx_zz_not,
+         sx_zz_nullspace,
+         sx_zz_or,
+         sx_zz_outer_prod,
+         sx_zz_pinv,
+         sx_zz_plus,
+         sx_zz_poly_coeff,
+         sx_zz_poly_roots,
+         sx_zz_polyval,
+         sx_zz_power,
+         sx_zz_printCompact,
+         sx_zz_project,
+         sx_zz_pw_const,
+         sx_zz_pw_lin,
+         sx_zz_qr,
+         sx_zz_quad_form__0,
+         sx_zz_quad_form__1,
+         sx_zz_ramp,
+         sx_zz_rdivide,
+         sx_zz_rectangle,
+         sx_zz_repmat__0,
+         sx_zz_repmat__1,
+         sx_zz_repmat__2,
+         sx_zz_reshape__0,
+         sx_zz_reshape__1,
+         sx_zz_sign,
+         sx_zz_simplify,
+         sx_zz_sin,
+         sx_zz_sinh,
+         sx_zz_solve,
+         sx_zz_sparsify__0,
+         sx_zz_sparsify__1,
+         sx_zz_sprank__0,
+         sx_zz_sprank__1,
+         sx_zz_spy,
+         sx_zz_sqrt,
+         sx_zz_substituteInPlace__0,
+         sx_zz_substituteInPlace__1,
+         sx_zz_substitute__0,
+         sx_zz_substitute__1,
+         sx_zz_sumAll,
+         sx_zz_sumCols,
+         sx_zz_sumRows,
+         sx_zz_sum_square,
+         sx_zz_tan,
+         sx_zz_tangent,
+         sx_zz_tanh,
+         sx_zz_taylor__0,
+         sx_zz_taylor__1,
+         sx_zz_taylor__2,
+         sx_zz_times,
+         sx_zz_trace,
+         sx_zz_triangle,
+         sx_zz_tril2symm,
+         sx_zz_tril__0,
+         sx_zz_tril__1,
+         sx_zz_triu2symm,
+         sx_zz_triu__0,
+         sx_zz_triu__1,
+         sx_zz_unite,
+         sx_zz_vec,
+         sx_zz_vecNZ,
+         sx_zz_vecNZcat,
+         sx_zz_veccat,
+         sx_zz_vertcat,
+         sx_zz_vertsplit,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.CToolsInstances ( )
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__0" c_casadi__SX__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__0
+  :: Vector Double -> Int -> Int -> IO SX
+casadi__SX__CONSTRUCTOR__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__0 :: Vector Double -> Int -> Int -> IO SX
+sx__0 = casadi__SX__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__1" c_casadi__SX__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__1
+  :: Vector Double -> IO SX
+casadi__SX__CONSTRUCTOR__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__1 :: Vector Double -> IO SX
+sx__1 = casadi__SX__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__2" c_casadi__SX__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__2
+  :: DMatrix -> IO SX
+casadi__SX__CONSTRUCTOR__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__2 :: DMatrix -> IO SX
+sx__2 = casadi__SX__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__3" c_casadi__SX__CONSTRUCTOR__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__3
+  :: Vector Int -> Int -> Int -> IO SX
+casadi__SX__CONSTRUCTOR__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__3 :: Vector Int -> Int -> Int -> IO SX
+sx__3 = casadi__SX__CONSTRUCTOR__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__4" c_casadi__SX__CONSTRUCTOR__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__4
+  :: Vector Int -> IO SX
+casadi__SX__CONSTRUCTOR__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__4 :: Vector Int -> IO SX
+sx__4 = casadi__SX__CONSTRUCTOR__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__5" c_casadi__SX__CONSTRUCTOR__5
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__5
+  :: IMatrix -> IO SX
+casadi__SX__CONSTRUCTOR__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__5 :: IMatrix -> IO SX
+sx__5 = casadi__SX__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__6" c_casadi__SX__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElement')) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__6
+  :: Vector SXElement -> Int -> Int -> IO SX
+casadi__SX__CONSTRUCTOR__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__6 :: Vector SXElement -> Int -> Int -> IO SX
+sx__6 = casadi__SX__CONSTRUCTOR__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__7" c_casadi__SX__CONSTRUCTOR__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElement')) -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__7
+  :: Vector SXElement -> IO SX
+casadi__SX__CONSTRUCTOR__7 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__7 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__7 :: Vector SXElement -> IO SX
+sx__7 = casadi__SX__CONSTRUCTOR__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__8" c_casadi__SX__CONSTRUCTOR__8
+  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__8
+  :: Double -> IO SX
+casadi__SX__CONSTRUCTOR__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__8 :: Double -> IO SX
+sx__8 = casadi__SX__CONSTRUCTOR__8
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__9" c_casadi__SX__CONSTRUCTOR__9
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec (Ptr SXElement')) -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__9
+  :: Sparsity -> Vector SXElement -> IO SX
+casadi__SX__CONSTRUCTOR__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__9 :: Sparsity -> Vector SXElement -> IO SX
+sx__9 = casadi__SX__CONSTRUCTOR__9
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__10" c_casadi__SX__CONSTRUCTOR__10
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__10
+  :: Sparsity -> IO SX
+casadi__SX__CONSTRUCTOR__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__10 :: Sparsity -> IO SX
+sx__10 = casadi__SX__CONSTRUCTOR__10
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__11" c_casadi__SX__CONSTRUCTOR__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr SXElement')))) -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__11
+  :: Vector (Vector SXElement) -> IO SX
+casadi__SX__CONSTRUCTOR__11 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__11 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__11 :: Vector (Vector SXElement) -> IO SX
+sx__11 = casadi__SX__CONSTRUCTOR__11
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__12" c_casadi__SX__CONSTRUCTOR__12
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__12
+  :: SX -> IO SX
+casadi__SX__CONSTRUCTOR__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__12 :: SX -> IO SX
+sx__12 = casadi__SX__CONSTRUCTOR__12
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__13" c_casadi__SX__CONSTRUCTOR__13
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+casadi__SX__CONSTRUCTOR__13
+  :: IO SX
+casadi__SX__CONSTRUCTOR__13  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__CONSTRUCTOR__13 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx__13 :: IO SX
+sx__13 = casadi__SX__CONSTRUCTOR__13
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__T" c_casadi__SX__T
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__T
+  :: SX -> IO SX
+casadi__SX__T x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__T errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_T :: SXClass a => a -> IO SX
+sx_T x = casadi__SX__T (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX____constpow__" c_casadi__SX____constpow__
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX____constpow__
+  :: SX -> SX -> IO SX
+casadi__SX____constpow__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX____constpow__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx___constpow__ :: SXClass a => a -> SX -> IO SX
+sx___constpow__ x = casadi__SX____constpow__ (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX____copysign__" c_casadi__SX____copysign__
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX____copysign__
+  :: SX -> SX -> IO SX
+casadi__SX____copysign__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX____copysign__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx___copysign__ :: SXClass a => a -> SX -> IO SX
+sx___copysign__ x = casadi__SX____copysign__ (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX____mldivide__" c_casadi__SX____mldivide__
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX____mldivide__
+  :: SX -> SX -> IO SX
+casadi__SX____mldivide__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX____mldivide__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx___mldivide__ :: SXClass a => a -> SX -> IO SX
+sx___mldivide__ x = casadi__SX____mldivide__ (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX____mrdivide__" c_casadi__SX____mrdivide__
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX____mrdivide__
+  :: SX -> SX -> IO SX
+casadi__SX____mrdivide__ x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX____mrdivide__ errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx___mrdivide__ :: SXClass a => a -> SX -> IO SX
+sx___mrdivide__ x = casadi__SX____mrdivide__ (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX____nonzero__" c_casadi__SX____nonzero__
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX____nonzero__
+  :: SX -> IO Bool
+casadi__SX____nonzero__ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX____nonzero__ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx___nonzero__ :: SXClass a => a -> IO Bool
+sx___nonzero__ x = casadi__SX____nonzero__ (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX____truediv____0" c_casadi__SX____truediv____0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX____truediv____0
+  :: SX -> SX -> IO SX
+casadi__SX____truediv____0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX____truediv____0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx___truediv____0 :: SXClass a => a -> SX -> IO SX
+sx___truediv____0 x = casadi__SX____truediv____0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX____truediv____1" c_casadi__SX____truediv____1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX____truediv____1
+  :: SX -> SX -> IO SX
+casadi__SX____truediv____1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX____truediv____1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx___truediv____1 :: SXClass a => a -> SX -> IO SX
+sx___truediv____1 x = casadi__SX____truediv____1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__append" c_casadi__SX__append
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__append
+  :: SX -> SX -> IO ()
+casadi__SX__append x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__append errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_append :: SXClass a => a -> SX -> IO ()
+sx_append x = casadi__SX__append (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__appendColumns" c_casadi__SX__appendColumns
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__appendColumns
+  :: SX -> SX -> IO ()
+casadi__SX__appendColumns x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__appendColumns errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_appendColumns :: SXClass a => a -> SX -> IO ()
+sx_appendColumns x = casadi__SX__appendColumns (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__binary" c_casadi__SX__binary
+  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__binary
+  :: Int -> SX -> SX -> IO SX
+casadi__SX__binary x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__binary errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_binary :: Int -> SX -> SX -> IO SX
+sx_binary = casadi__SX__binary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__className" c_casadi__SX__className
+  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
+casadi__SX__className
+  :: IO String
+casadi__SX__className  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__className errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_className :: IO String
+sx_className = casadi__SX__className
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__clear" c_casadi__SX__clear
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__clear
+  :: SX -> IO ()
+casadi__SX__clear x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__clear errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_clear :: SXClass a => a -> IO ()
+sx_clear x = casadi__SX__clear (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__colind__0" c_casadi__SX__colind__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+casadi__SX__colind__0
+  :: SX -> Int -> IO Int
+casadi__SX__colind__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__colind__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_colind__0 :: SXClass a => a -> Int -> IO Int
+sx_colind__0 x = casadi__SX__colind__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__colind__1" c_casadi__SX__colind__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec CInt))
+casadi__SX__colind__1
+  :: SX -> IO (Vector Int)
+casadi__SX__colind__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__colind__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_colind__1 :: SXClass a => a -> IO (Vector Int)
+sx_colind__1 x = casadi__SX__colind__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__data__0" c_casadi__SX__data__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SXElement')))
+casadi__SX__data__0
+  :: SX -> IO (Vector SXElement)
+casadi__SX__data__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__data__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_data__0 :: SXClass a => a -> IO (Vector SXElement)
+sx_data__0 x = casadi__SX__data__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__data__1" c_casadi__SX__data__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SXElement')))
+casadi__SX__data__1
+  :: SX -> IO (Vector SXElement)
+casadi__SX__data__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__data__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_data__1 :: SXClass a => a -> IO (Vector SXElement)
+sx_data__1 x = casadi__SX__data__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__dimString" c_casadi__SX__dimString
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
+casadi__SX__dimString
+  :: SX -> IO String
+casadi__SX__dimString x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__dimString errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_dimString :: SXClass a => a -> IO String
+sx_dimString x = casadi__SX__dimString (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__enlarge__0" c_casadi__SX__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__SX__enlarge__0
+  :: SX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__SX__enlarge__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_enlarge__0 :: SXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+sx_enlarge__0 x = casadi__SX__enlarge__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__enlarge__1" c_casadi__SX__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__SX__enlarge__1
+  :: SX -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__SX__enlarge__1 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_enlarge__1 :: SXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+sx_enlarge__1 x = casadi__SX__enlarge__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__erase__0" c_casadi__SX__erase__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO ()
+casadi__SX__erase__0
+  :: SX -> Vector Int -> IO ()
+casadi__SX__erase__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__erase__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_erase__0 :: SXClass a => a -> Vector Int -> IO ()
+sx_erase__0 x = casadi__SX__erase__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__erase__1" c_casadi__SX__erase__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__SX__erase__1
+  :: SX -> Vector Int -> Bool -> IO ()
+casadi__SX__erase__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__erase__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_erase__1 :: SXClass a => a -> Vector Int -> Bool -> IO ()
+sx_erase__1 x = casadi__SX__erase__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__erase__2" c_casadi__SX__erase__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__SX__erase__2
+  :: SX -> Vector Int -> Vector Int -> IO ()
+casadi__SX__erase__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__erase__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_erase__2 :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
+sx_erase__2 x = casadi__SX__erase__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__erase__3" c_casadi__SX__erase__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__SX__erase__3
+  :: SX -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__SX__erase__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__erase__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_erase__3 :: SXClass a => a -> Vector Int -> Vector Int -> Bool -> IO ()
+sx_erase__3 x = casadi__SX__erase__3 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__eye" c_casadi__SX__eye
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
+casadi__SX__eye
+  :: Int -> IO SX
+casadi__SX__eye x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__eye errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_eye :: Int -> IO SX
+sx_eye = casadi__SX__eye
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__0" c_casadi__SX__get__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__get__0
+  :: SX -> SX -> IO ()
+casadi__SX__get__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__get__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_get__0 :: SXClass a => a -> SX -> IO ()
+sx_get__0 x = casadi__SX__get__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__1" c_casadi__SX__get__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO ()
+casadi__SX__get__1
+  :: SX -> SX -> SparsityType -> IO ()
+casadi__SX__get__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__get__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_get__1 :: SXClass a => a -> SX -> SparsityType -> IO ()
+sx_get__1 x = casadi__SX__get__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__2" c_casadi__SX__get__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> IO ()
+casadi__SX__get__2
+  :: SX -> Vector SXElement -> IO ()
+casadi__SX__get__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__get__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_get__2 :: SXClass a => a -> Vector SXElement -> IO ()
+sx_get__2 x = casadi__SX__get__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__get__3" c_casadi__SX__get__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> CInt -> IO ()
+casadi__SX__get__3
+  :: SX -> Vector SXElement -> SparsityType -> IO ()
+casadi__SX__get__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__get__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_get__3 :: SXClass a => a -> Vector SXElement -> SparsityType -> IO ()
+sx_get__3 x = casadi__SX__get__3 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getDep__0" c_casadi__SX__getDep__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__getDep__0
+  :: SX -> IO SX
+casadi__SX__getDep__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getDep__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getDep__0 :: SXClass a => a -> IO SX
+sx_getDep__0 x = casadi__SX__getDep__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getDep__1" c_casadi__SX__getDep__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__getDep__1
+  :: SX -> Int -> IO SX
+casadi__SX__getDep__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getDep__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getDep__1 :: SXClass a => a -> Int -> IO SX
+sx_getDep__1 x = casadi__SX__getDep__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getElementHash" c_casadi__SX__getElementHash
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CLong
+casadi__SX__getElementHash
+  :: SX -> IO Int
+casadi__SX__getElementHash x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getElementHash errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getElementHash :: SXClass a => a -> IO Int
+sx_getElementHash x = casadi__SX__getElementHash (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getEqualityCheckingDepth" c_casadi__SX__getEqualityCheckingDepth
+  :: Ptr (Ptr StdString) -> IO CInt
+casadi__SX__getEqualityCheckingDepth
+  :: IO Int
+casadi__SX__getEqualityCheckingDepth  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getEqualityCheckingDepth errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getEqualityCheckingDepth :: IO Int
+sx_getEqualityCheckingDepth = casadi__SX__getEqualityCheckingDepth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getMaxNumCallsInPrint" c_casadi__SX__getMaxNumCallsInPrint
+  :: Ptr (Ptr StdString) -> IO CLong
+casadi__SX__getMaxNumCallsInPrint
+  :: IO Int
+casadi__SX__getMaxNumCallsInPrint  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getMaxNumCallsInPrint errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getMaxNumCallsInPrint :: IO Int
+sx_getMaxNumCallsInPrint = casadi__SX__getMaxNumCallsInPrint
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getNZ__0" c_casadi__SX__getNZ__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr IMatrix' -> IO (Ptr SX')
+casadi__SX__getNZ__0
+  :: SX -> Bool -> IMatrix -> IO SX
+casadi__SX__getNZ__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getNZ__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getNZ__0 :: SXClass a => a -> Bool -> IMatrix -> IO SX
+sx_getNZ__0 x = casadi__SX__getNZ__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getNZ__1" c_casadi__SX__getNZ__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr Slice' -> IO (Ptr SX')
+casadi__SX__getNZ__1
+  :: SX -> Bool -> Slice -> IO SX
+casadi__SX__getNZ__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getNZ__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getNZ__1 :: SXClass a => a -> Bool -> Slice -> IO SX
+sx_getNZ__1 x = casadi__SX__getNZ__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getName" c_casadi__SX__getName
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
+casadi__SX__getName
+  :: SX -> IO String
+casadi__SX__getName x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getName errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getName :: SXClass a => a -> IO String
+sx_getName x = casadi__SX__getName (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getNdeps" c_casadi__SX__getNdeps
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__getNdeps
+  :: SX -> IO Int
+casadi__SX__getNdeps x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getNdeps errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getNdeps :: SXClass a => a -> IO Int
+sx_getNdeps x = casadi__SX__getNdeps (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getSub__0" c_casadi__SX__getSub__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr SX')
+casadi__SX__getSub__0
+  :: SX -> Bool -> IMatrix -> IMatrix -> IO SX
+casadi__SX__getSub__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getSub__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getSub__0 :: SXClass a => a -> Bool -> IMatrix -> IMatrix -> IO SX
+sx_getSub__0 x = casadi__SX__getSub__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getSub__1" c_casadi__SX__getSub__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr IMatrix' -> Ptr Slice' -> IO (Ptr SX')
+casadi__SX__getSub__1
+  :: SX -> Bool -> IMatrix -> Slice -> IO SX
+casadi__SX__getSub__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getSub__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getSub__1 :: SXClass a => a -> Bool -> IMatrix -> Slice -> IO SX
+sx_getSub__1 x = casadi__SX__getSub__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getSub__2" c_casadi__SX__getSub__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr Slice' -> Ptr IMatrix' -> IO (Ptr SX')
+casadi__SX__getSub__2
+  :: SX -> Bool -> Slice -> IMatrix -> IO SX
+casadi__SX__getSub__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getSub__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getSub__2 :: SXClass a => a -> Bool -> Slice -> IMatrix -> IO SX
+sx_getSub__2 x = casadi__SX__getSub__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getSub__3" c_casadi__SX__getSub__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO (Ptr SX')
+casadi__SX__getSub__3
+  :: SX -> Bool -> Slice -> Slice -> IO SX
+casadi__SX__getSub__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getSub__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getSub__3 :: SXClass a => a -> Bool -> Slice -> Slice -> IO SX
+sx_getSub__3 x = casadi__SX__getSub__3 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getSub__4" c_casadi__SX__getSub__4
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__getSub__4
+  :: SX -> Bool -> Sparsity -> IO SX
+casadi__SX__getSub__4 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getSub__4 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getSub__4 :: SXClass a => a -> Bool -> Sparsity -> IO SX
+sx_getSub__4 x = casadi__SX__getSub__4 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getSub__5" c_casadi__SX__getSub__5
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr IMatrix' -> IO (Ptr SX')
+casadi__SX__getSub__5
+  :: SX -> Bool -> IMatrix -> IO SX
+casadi__SX__getSub__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getSub__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getSub__5 :: SXClass a => a -> Bool -> IMatrix -> IO SX
+sx_getSub__5 x = casadi__SX__getSub__5 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getSub__6" c_casadi__SX__getSub__6
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> Ptr Slice' -> IO (Ptr SX')
+casadi__SX__getSub__6
+  :: SX -> Bool -> Slice -> IO SX
+casadi__SX__getSub__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getSub__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getSub__6 :: SXClass a => a -> Bool -> Slice -> IO SX
+sx_getSub__6 x = casadi__SX__getSub__6 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getValue" c_casadi__SX__getValue
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CDouble
+casadi__SX__getValue
+  :: SX -> IO Double
+casadi__SX__getValue x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getValue errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getValue :: SXClass a => a -> IO Double
+sx_getValue x = casadi__SX__getValue (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__hasNZ" c_casadi__SX__hasNZ
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO CInt
+casadi__SX__hasNZ
+  :: SX -> Int -> Int -> IO Bool
+casadi__SX__hasNZ x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__hasNZ errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_hasNZ :: SXClass a => a -> Int -> Int -> IO Bool
+sx_hasNZ x = casadi__SX__hasNZ (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__hasNonStructuralZeros" c_casadi__SX__hasNonStructuralZeros
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__hasNonStructuralZeros
+  :: SX -> IO Bool
+casadi__SX__hasNonStructuralZeros x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__hasNonStructuralZeros errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_hasNonStructuralZeros :: SXClass a => a -> IO Bool
+sx_hasNonStructuralZeros x = casadi__SX__hasNonStructuralZeros (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__0" c_casadi__SX__inf__0
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+casadi__SX__inf__0
+  :: IO SX
+casadi__SX__inf__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__inf__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_inf__0 :: IO SX
+sx_inf__0 = casadi__SX__inf__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__1" c_casadi__SX__inf__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
+casadi__SX__inf__1
+  :: Int -> IO SX
+casadi__SX__inf__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__inf__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_inf__1 :: Int -> IO SX
+sx_inf__1 = casadi__SX__inf__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__2" c_casadi__SX__inf__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__inf__2
+  :: Int -> Int -> IO SX
+casadi__SX__inf__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__inf__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_inf__2 :: Int -> Int -> IO SX
+sx_inf__2 = casadi__SX__inf__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__inf__3" c_casadi__SX__inf__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__inf__3
+  :: Sparsity -> IO SX
+casadi__SX__inf__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__inf__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_inf__3 :: Sparsity -> IO SX
+sx_inf__3 = casadi__SX__inf__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isCommutative" c_casadi__SX__isCommutative
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isCommutative
+  :: SX -> IO Bool
+casadi__SX__isCommutative x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isCommutative errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isCommutative :: SXClass a => a -> IO Bool
+sx_isCommutative x = casadi__SX__isCommutative (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isConstant" c_casadi__SX__isConstant
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isConstant
+  :: SX -> IO Bool
+casadi__SX__isConstant x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isConstant errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isConstant :: SXClass a => a -> IO Bool
+sx_isConstant x = casadi__SX__isConstant (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isDense" c_casadi__SX__isDense
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isDense
+  :: SX -> IO Bool
+casadi__SX__isDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isDense :: SXClass a => a -> IO Bool
+sx_isDense x = casadi__SX__isDense (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isEmpty__0" c_casadi__SX__isEmpty__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isEmpty__0
+  :: SX -> IO Bool
+casadi__SX__isEmpty__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isEmpty__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isEmpty__0 :: SXClass a => a -> IO Bool
+sx_isEmpty__0 x = casadi__SX__isEmpty__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isEmpty__1" c_casadi__SX__isEmpty__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+casadi__SX__isEmpty__1
+  :: SX -> Bool -> IO Bool
+casadi__SX__isEmpty__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isEmpty__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isEmpty__1 :: SXClass a => a -> Bool -> IO Bool
+sx_isEmpty__1 x = casadi__SX__isEmpty__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isIdentity" c_casadi__SX__isIdentity
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isIdentity
+  :: SX -> IO Bool
+casadi__SX__isIdentity x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isIdentity errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isIdentity :: SXClass a => a -> IO Bool
+sx_isIdentity x = casadi__SX__isIdentity (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isInteger" c_casadi__SX__isInteger
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isInteger
+  :: SX -> IO Bool
+casadi__SX__isInteger x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isInteger errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isInteger :: SXClass a => a -> IO Bool
+sx_isInteger x = casadi__SX__isInteger (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isLeaf" c_casadi__SX__isLeaf
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isLeaf
+  :: SX -> IO Bool
+casadi__SX__isLeaf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isLeaf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isLeaf :: SXClass a => a -> IO Bool
+sx_isLeaf x = casadi__SX__isLeaf (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isMinusOne" c_casadi__SX__isMinusOne
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isMinusOne
+  :: SX -> IO Bool
+casadi__SX__isMinusOne x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isMinusOne errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isMinusOne :: SXClass a => a -> IO Bool
+sx_isMinusOne x = casadi__SX__isMinusOne (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isOne" c_casadi__SX__isOne
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isOne
+  :: SX -> IO Bool
+casadi__SX__isOne x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isOne errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isOne :: SXClass a => a -> IO Bool
+sx_isOne x = casadi__SX__isOne (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isRegular" c_casadi__SX__isRegular
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isRegular
+  :: SX -> IO Bool
+casadi__SX__isRegular x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isRegular errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isRegular :: SXClass a => a -> IO Bool
+sx_isRegular x = casadi__SX__isRegular (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isScalar__0" c_casadi__SX__isScalar__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isScalar__0
+  :: SX -> IO Bool
+casadi__SX__isScalar__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isScalar__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isScalar__0 :: SXClass a => a -> IO Bool
+sx_isScalar__0 x = casadi__SX__isScalar__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isScalar__1" c_casadi__SX__isScalar__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+casadi__SX__isScalar__1
+  :: SX -> Bool -> IO Bool
+casadi__SX__isScalar__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isScalar__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isScalar__1 :: SXClass a => a -> Bool -> IO Bool
+sx_isScalar__1 x = casadi__SX__isScalar__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isSlice__0" c_casadi__SX__isSlice__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isSlice__0
+  :: SX -> IO Bool
+casadi__SX__isSlice__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isSlice__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isSlice__0 :: SXClass a => a -> IO Bool
+sx_isSlice__0 x = casadi__SX__isSlice__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isSlice__1" c_casadi__SX__isSlice__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+casadi__SX__isSlice__1
+  :: SX -> Bool -> IO Bool
+casadi__SX__isSlice__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isSlice__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isSlice__1 :: SXClass a => a -> Bool -> IO Bool
+sx_isSlice__1 x = casadi__SX__isSlice__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isSmooth" c_casadi__SX__isSmooth
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isSmooth
+  :: SX -> IO Bool
+casadi__SX__isSmooth x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isSmooth errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isSmooth :: SXClass a => a -> IO Bool
+sx_isSmooth x = casadi__SX__isSmooth (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isSquare" c_casadi__SX__isSquare
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isSquare
+  :: SX -> IO Bool
+casadi__SX__isSquare x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isSquare errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isSquare :: SXClass a => a -> IO Bool
+sx_isSquare x = casadi__SX__isSquare (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isSymbolic" c_casadi__SX__isSymbolic
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isSymbolic
+  :: SX -> IO Bool
+casadi__SX__isSymbolic x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isSymbolic errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isSymbolic :: SXClass a => a -> IO Bool
+sx_isSymbolic x = casadi__SX__isSymbolic (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isSymbolicSparse" c_casadi__SX__isSymbolicSparse
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isSymbolicSparse
+  :: SX -> IO Bool
+casadi__SX__isSymbolicSparse x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isSymbolicSparse errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isSymbolicSparse :: SXClass a => a -> IO Bool
+sx_isSymbolicSparse x = casadi__SX__isSymbolicSparse (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isTril" c_casadi__SX__isTril
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isTril
+  :: SX -> IO Bool
+casadi__SX__isTril x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isTril errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isTril :: SXClass a => a -> IO Bool
+sx_isTril x = casadi__SX__isTril (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isTriu" c_casadi__SX__isTriu
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isTriu
+  :: SX -> IO Bool
+casadi__SX__isTriu x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isTriu errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isTriu :: SXClass a => a -> IO Bool
+sx_isTriu x = casadi__SX__isTriu (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isVector" c_casadi__SX__isVector
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isVector
+  :: SX -> IO Bool
+casadi__SX__isVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isVector :: SXClass a => a -> IO Bool
+sx_isVector x = casadi__SX__isVector (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__isZero" c_casadi__SX__isZero
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__isZero
+  :: SX -> IO Bool
+casadi__SX__isZero x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__isZero errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_isZero :: SXClass a => a -> IO Bool
+sx_isZero x = casadi__SX__isZero (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__makeDense" c_casadi__SX__makeDense
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__makeDense
+  :: SX -> IO ()
+casadi__SX__makeDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__makeDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_makeDense :: SXClass a => a -> IO ()
+sx_makeDense x = casadi__SX__makeDense (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__makeSparse__0" c_casadi__SX__makeSparse__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__makeSparse__0
+  :: SX -> IO ()
+casadi__SX__makeSparse__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__makeSparse__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_makeSparse__0 :: SXClass a => a -> IO ()
+sx_makeSparse__0 x = casadi__SX__makeSparse__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__makeSparse__1" c_casadi__SX__makeSparse__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CDouble -> IO ()
+casadi__SX__makeSparse__1
+  :: SX -> Double -> IO ()
+casadi__SX__makeSparse__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__makeSparse__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_makeSparse__1 :: SXClass a => a -> Double -> IO ()
+sx_makeSparse__1 x = casadi__SX__makeSparse__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__matrix_matrix" c_casadi__SX__matrix_matrix
+  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__matrix_matrix
+  :: Int -> SX -> SX -> IO SX
+casadi__SX__matrix_matrix x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__matrix_matrix errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_matrix_matrix :: Int -> SX -> SX -> IO SX
+sx_matrix_matrix = casadi__SX__matrix_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__matrix_scalar" c_casadi__SX__matrix_scalar
+  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__matrix_scalar
+  :: Int -> SX -> SX -> IO SX
+casadi__SX__matrix_scalar x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__matrix_scalar errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_matrix_scalar :: Int -> SX -> SX -> IO SX
+sx_matrix_scalar = casadi__SX__matrix_scalar
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc__0" c_casadi__SX__mul_no_alloc__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> IO ()
+casadi__SX__mul_no_alloc__0
+  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
+casadi__SX__mul_no_alloc__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc__0 :: SX -> Vector SXElement -> Vector SXElement -> IO ()
+sx_mul_no_alloc__0 = casadi__SX__mul_no_alloc__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc__1" c_casadi__SX__mul_no_alloc__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> CInt -> IO ()
+casadi__SX__mul_no_alloc__1
+  :: SX -> Vector SXElement -> Vector SXElement -> Bool -> IO ()
+casadi__SX__mul_no_alloc__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc__1 :: SX -> Vector SXElement -> Vector SXElement -> Bool -> IO ()
+sx_mul_no_alloc__1 = casadi__SX__mul_no_alloc__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc__2" c_casadi__SX__mul_no_alloc__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> IO ()
+casadi__SX__mul_no_alloc__2
+  :: SX -> SX -> SX -> Vector SXElement -> IO ()
+casadi__SX__mul_no_alloc__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc__2 :: SX -> SX -> SX -> Vector SXElement -> IO ()
+sx_mul_no_alloc__2 = casadi__SX__mul_no_alloc__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc__3" c_casadi__SX__mul_no_alloc__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> CInt -> IO ()
+casadi__SX__mul_no_alloc__3
+  :: SX -> SX -> SX -> Vector SXElement -> Bool -> IO ()
+casadi__SX__mul_no_alloc__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc__3 :: SX -> SX -> SX -> Vector SXElement -> Bool -> IO ()
+sx_mul_no_alloc__3 = casadi__SX__mul_no_alloc__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc_nn__0" c_casadi__SX__mul_no_alloc_nn__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> IO ()
+casadi__SX__mul_no_alloc_nn__0
+  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
+casadi__SX__mul_no_alloc_nn__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc_nn__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc_nn__0 :: SX -> Vector SXElement -> Vector SXElement -> IO ()
+sx_mul_no_alloc_nn__0 = casadi__SX__mul_no_alloc_nn__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc_nn__1" c_casadi__SX__mul_no_alloc_nn__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__mul_no_alloc_nn__1
+  :: SX -> SX -> SX -> IO ()
+casadi__SX__mul_no_alloc_nn__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc_nn__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc_nn__1 :: SX -> SX -> SX -> IO ()
+sx_mul_no_alloc_nn__1 = casadi__SX__mul_no_alloc_nn__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc_nt" c_casadi__SX__mul_no_alloc_nt
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__mul_no_alloc_nt
+  :: SX -> SX -> SX -> IO ()
+casadi__SX__mul_no_alloc_nt x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc_nt errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc_nt :: SX -> SX -> SX -> IO ()
+sx_mul_no_alloc_nt = casadi__SX__mul_no_alloc_nt
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc_tn__0" c_casadi__SX__mul_no_alloc_tn__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> IO ()
+casadi__SX__mul_no_alloc_tn__0
+  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
+casadi__SX__mul_no_alloc_tn__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc_tn__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc_tn__0 :: SX -> Vector SXElement -> Vector SXElement -> IO ()
+sx_mul_no_alloc_tn__0 = casadi__SX__mul_no_alloc_tn__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__mul_no_alloc_tn__1" c_casadi__SX__mul_no_alloc_tn__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__mul_no_alloc_tn__1
+  :: SX -> SX -> SX -> IO ()
+casadi__SX__mul_no_alloc_tn__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__mul_no_alloc_tn__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_mul_no_alloc_tn__1 :: SX -> SX -> SX -> IO ()
+sx_mul_no_alloc_tn__1 = casadi__SX__mul_no_alloc_tn__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__0" c_casadi__SX__nan__0
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+casadi__SX__nan__0
+  :: IO SX
+casadi__SX__nan__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__nan__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_nan__0 :: IO SX
+sx_nan__0 = casadi__SX__nan__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__1" c_casadi__SX__nan__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
+casadi__SX__nan__1
+  :: Int -> IO SX
+casadi__SX__nan__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__nan__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_nan__1 :: Int -> IO SX
+sx_nan__1 = casadi__SX__nan__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__2" c_casadi__SX__nan__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__nan__2
+  :: Int -> Int -> IO SX
+casadi__SX__nan__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__nan__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_nan__2 :: Int -> Int -> IO SX
+sx_nan__2 = casadi__SX__nan__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__nan__3" c_casadi__SX__nan__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__nan__3
+  :: Sparsity -> IO SX
+casadi__SX__nan__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__nan__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_nan__3 :: Sparsity -> IO SX
+sx_nan__3 = casadi__SX__nan__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__numel__0" c_casadi__SX__numel__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+casadi__SX__numel__0
+  :: SX -> Int -> IO Int
+casadi__SX__numel__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__numel__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_numel__0 :: SXClass a => a -> Int -> IO Int
+sx_numel__0 x = casadi__SX__numel__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__numel__1" c_casadi__SX__numel__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__numel__1
+  :: SX -> IO Int
+casadi__SX__numel__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__numel__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_numel__1 :: SXClass a => a -> IO Int
+sx_numel__1 x = casadi__SX__numel__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__0" c_casadi__SX__ones__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__ones__0
+  :: Sparsity -> IO SX
+casadi__SX__ones__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__ones__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_ones__0 :: Sparsity -> IO SX
+sx_ones__0 = casadi__SX__ones__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__1" c_casadi__SX__ones__1
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+casadi__SX__ones__1
+  :: IO SX
+casadi__SX__ones__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__ones__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_ones__1 :: IO SX
+sx_ones__1 = casadi__SX__ones__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__2" c_casadi__SX__ones__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
+casadi__SX__ones__2
+  :: Int -> IO SX
+casadi__SX__ones__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__ones__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_ones__2 :: Int -> IO SX
+sx_ones__2 = casadi__SX__ones__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__ones__3" c_casadi__SX__ones__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__ones__3
+  :: Int -> Int -> IO SX
+casadi__SX__ones__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__ones__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_ones__3 :: Int -> Int -> IO SX
+sx_ones__3 = casadi__SX__ones__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__printDense" c_casadi__SX__printDense
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__printDense
+  :: SX -> IO ()
+casadi__SX__printDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__printDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_printDense :: SXClass a => a -> IO ()
+sx_printDense x = casadi__SX__printDense (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__printScalar" c_casadi__SX__printScalar
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__printScalar
+  :: SX -> IO ()
+casadi__SX__printScalar x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__printScalar errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_printScalar :: SXClass a => a -> IO ()
+sx_printScalar x = casadi__SX__printScalar (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__printSparse" c_casadi__SX__printSparse
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__printSparse
+  :: SX -> IO ()
+casadi__SX__printSparse x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__printSparse errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_printSparse :: SXClass a => a -> IO ()
+sx_printSparse x = casadi__SX__printSparse (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__printVector" c_casadi__SX__printVector
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__printVector
+  :: SX -> IO ()
+casadi__SX__printVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__printVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_printVector :: SXClass a => a -> IO ()
+sx_printVector x = casadi__SX__printVector (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__printme" c_casadi__SX__printme
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__printme
+  :: SX -> SX -> IO SX
+casadi__SX__printme x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__printme errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_printme :: SXClass a => a -> SX -> IO SX
+sx_printme x = casadi__SX__printme (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__remove" c_casadi__SX__remove
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__SX__remove
+  :: SX -> Vector Int -> Vector Int -> IO ()
+casadi__SX__remove x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__remove errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_remove :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
+sx_remove x = casadi__SX__remove (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__repmat__0" c_casadi__SX__repmat__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__repmat__0
+  :: SX -> Int -> IO SX
+casadi__SX__repmat__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__repmat__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_repmat__0 :: SX -> Int -> IO SX
+sx_repmat__0 = casadi__SX__repmat__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__repmat__1" c_casadi__SX__repmat__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__repmat__1
+  :: SX -> Int -> Int -> IO SX
+casadi__SX__repmat__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__repmat__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_repmat__1 :: SX -> Int -> Int -> IO SX
+sx_repmat__1 = casadi__SX__repmat__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__repmat__2" c_casadi__SX__repmat__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__repmat__2
+  :: SX -> Sparsity -> IO SX
+casadi__SX__repmat__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__repmat__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_repmat__2 :: SX -> Sparsity -> IO SX
+sx_repmat__2 = casadi__SX__repmat__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__reserve__0" c_casadi__SX__reserve__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO ()
+casadi__SX__reserve__0
+  :: SX -> Int -> Int -> IO ()
+casadi__SX__reserve__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__reserve__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_reserve__0 :: SXClass a => a -> Int -> Int -> IO ()
+sx_reserve__0 x = casadi__SX__reserve__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__reserve__1" c_casadi__SX__reserve__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO ()
+casadi__SX__reserve__1
+  :: SX -> Int -> IO ()
+casadi__SX__reserve__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__reserve__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_reserve__1 :: SXClass a => a -> Int -> IO ()
+sx_reserve__1 x = casadi__SX__reserve__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__resize" c_casadi__SX__resize
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO ()
+casadi__SX__resize
+  :: SX -> Int -> Int -> IO ()
+casadi__SX__resize x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__resize errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_resize :: SXClass a => a -> Int -> Int -> IO ()
+sx_resize x = casadi__SX__resize (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__row__0" c_casadi__SX__row__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+casadi__SX__row__0
+  :: SX -> Int -> IO Int
+casadi__SX__row__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__row__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_row__0 :: SXClass a => a -> Int -> IO Int
+sx_row__0 x = casadi__SX__row__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__row__1" c_casadi__SX__row__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec CInt))
+casadi__SX__row__1
+  :: SX -> IO (Vector Int)
+casadi__SX__row__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__row__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_row__1 :: SXClass a => a -> IO (Vector Int)
+sx_row__1 x = casadi__SX__row__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sanityCheck__0" c_casadi__SX__sanityCheck__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__sanityCheck__0
+  :: SX -> IO ()
+casadi__SX__sanityCheck__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sanityCheck__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sanityCheck__0 :: SXClass a => a -> IO ()
+sx_sanityCheck__0 x = casadi__SX__sanityCheck__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sanityCheck__1" c_casadi__SX__sanityCheck__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO ()
+casadi__SX__sanityCheck__1
+  :: SX -> Bool -> IO ()
+casadi__SX__sanityCheck__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sanityCheck__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sanityCheck__1 :: SXClass a => a -> Bool -> IO ()
+sx_sanityCheck__1 x = casadi__SX__sanityCheck__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__scalar_matrix" c_casadi__SX__scalar_matrix
+  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__scalar_matrix
+  :: Int -> SX -> SX -> IO SX
+casadi__SX__scalar_matrix x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__scalar_matrix errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_scalar_matrix :: Int -> SX -> SX -> IO SX
+sx_scalar_matrix = casadi__SX__scalar_matrix
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__0" c_casadi__SX__set__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__set__0
+  :: SX -> SX -> IO ()
+casadi__SX__set__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__set__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_set__0 :: SXClass a => a -> SX -> IO ()
+sx_set__0 x = casadi__SX__set__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__1" c_casadi__SX__set__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO ()
+casadi__SX__set__1
+  :: SX -> SX -> SparsityType -> IO ()
+casadi__SX__set__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__set__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_set__1 :: SXClass a => a -> SX -> SparsityType -> IO ()
+sx_set__1 x = casadi__SX__set__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__2" c_casadi__SX__set__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> IO ()
+casadi__SX__set__2
+  :: SX -> Vector SXElement -> IO ()
+casadi__SX__set__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__set__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_set__2 :: SXClass a => a -> Vector SXElement -> IO ()
+sx_set__2 x = casadi__SX__set__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__set__3" c_casadi__SX__set__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> CInt -> IO ()
+casadi__SX__set__3
+  :: SX -> Vector SXElement -> SparsityType -> IO ()
+casadi__SX__set__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__set__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_set__3 :: SXClass a => a -> Vector SXElement -> SparsityType -> IO ()
+sx_set__3 x = casadi__SX__set__3 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setEqualityCheckingDepth__0" c_casadi__SX__setEqualityCheckingDepth__0
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__SX__setEqualityCheckingDepth__0
+  :: IO ()
+casadi__SX__setEqualityCheckingDepth__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setEqualityCheckingDepth__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setEqualityCheckingDepth__0 :: IO ()
+sx_setEqualityCheckingDepth__0 = casadi__SX__setEqualityCheckingDepth__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setEqualityCheckingDepth__1" c_casadi__SX__setEqualityCheckingDepth__1
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__SX__setEqualityCheckingDepth__1
+  :: Int -> IO ()
+casadi__SX__setEqualityCheckingDepth__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setEqualityCheckingDepth__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setEqualityCheckingDepth__1 :: Int -> IO ()
+sx_setEqualityCheckingDepth__1 = casadi__SX__setEqualityCheckingDepth__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setMaxNumCallsInPrint__0" c_casadi__SX__setMaxNumCallsInPrint__0
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__SX__setMaxNumCallsInPrint__0
+  :: IO ()
+casadi__SX__setMaxNumCallsInPrint__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setMaxNumCallsInPrint__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setMaxNumCallsInPrint__0 :: IO ()
+sx_setMaxNumCallsInPrint__0 = casadi__SX__setMaxNumCallsInPrint__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setMaxNumCallsInPrint__1" c_casadi__SX__setMaxNumCallsInPrint__1
+  :: Ptr (Ptr StdString) -> CLong -> IO ()
+casadi__SX__setMaxNumCallsInPrint__1
+  :: Int -> IO ()
+casadi__SX__setMaxNumCallsInPrint__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setMaxNumCallsInPrint__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setMaxNumCallsInPrint__1 :: Int -> IO ()
+sx_setMaxNumCallsInPrint__1 = casadi__SX__setMaxNumCallsInPrint__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setNZ__0" c_casadi__SX__setNZ__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IMatrix' -> IO ()
+casadi__SX__setNZ__0
+  :: SX -> SX -> Bool -> IMatrix -> IO ()
+casadi__SX__setNZ__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setNZ__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setNZ__0 :: SXClass a => a -> SX -> Bool -> IMatrix -> IO ()
+sx_setNZ__0 x = casadi__SX__setNZ__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setNZ__1" c_casadi__SX__setNZ__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> IO ()
+casadi__SX__setNZ__1
+  :: SX -> SX -> Bool -> Slice -> IO ()
+casadi__SX__setNZ__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setNZ__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setNZ__1 :: SXClass a => a -> SX -> Bool -> Slice -> IO ()
+sx_setNZ__1 x = casadi__SX__setNZ__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setPrecision" c_casadi__SX__setPrecision
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__SX__setPrecision
+  :: Int -> IO ()
+casadi__SX__setPrecision x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setPrecision errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setPrecision :: Int -> IO ()
+sx_setPrecision = casadi__SX__setPrecision
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setScientific" c_casadi__SX__setScientific
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__SX__setScientific
+  :: Bool -> IO ()
+casadi__SX__setScientific x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setScientific errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setScientific :: Bool -> IO ()
+sx_setScientific = casadi__SX__setScientific
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSparse__0" c_casadi__SX__setSparse__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__setSparse__0
+  :: SX -> Sparsity -> IO SX
+casadi__SX__setSparse__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSparse__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSparse__0 :: SXClass a => a -> Sparsity -> IO SX
+sx_setSparse__0 x = casadi__SX__setSparse__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSparse__1" c_casadi__SX__setSparse__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> CInt -> IO (Ptr SX')
+casadi__SX__setSparse__1
+  :: SX -> Sparsity -> Bool -> IO SX
+casadi__SX__setSparse__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSparse__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSparse__1 :: SXClass a => a -> Sparsity -> Bool -> IO SX
+sx_setSparse__1 x = casadi__SX__setSparse__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSub__0" c_casadi__SX__setSub__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
+casadi__SX__setSub__0
+  :: SX -> SX -> Bool -> IMatrix -> IMatrix -> IO ()
+casadi__SX__setSub__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSub__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSub__0 :: SXClass a => a -> SX -> Bool -> IMatrix -> IMatrix -> IO ()
+sx_setSub__0 x = casadi__SX__setSub__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSub__1" c_casadi__SX__setSub__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IMatrix' -> Ptr Slice' -> IO ()
+casadi__SX__setSub__1
+  :: SX -> SX -> Bool -> IMatrix -> Slice -> IO ()
+casadi__SX__setSub__1 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSub__1 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSub__1 :: SXClass a => a -> SX -> Bool -> IMatrix -> Slice -> IO ()
+sx_setSub__1 x = casadi__SX__setSub__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSub__2" c_casadi__SX__setSub__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> Ptr IMatrix' -> IO ()
+casadi__SX__setSub__2
+  :: SX -> SX -> Bool -> Slice -> IMatrix -> IO ()
+casadi__SX__setSub__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSub__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSub__2 :: SXClass a => a -> SX -> Bool -> Slice -> IMatrix -> IO ()
+sx_setSub__2 x = casadi__SX__setSub__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSub__3" c_casadi__SX__setSub__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> Ptr Slice' -> IO ()
+casadi__SX__setSub__3
+  :: SX -> SX -> Bool -> Slice -> Slice -> IO ()
+casadi__SX__setSub__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSub__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSub__3 :: SXClass a => a -> SX -> Bool -> Slice -> Slice -> IO ()
+sx_setSub__3 x = casadi__SX__setSub__3 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSub__4" c_casadi__SX__setSub__4
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Sparsity' -> IO ()
+casadi__SX__setSub__4
+  :: SX -> SX -> Bool -> Sparsity -> IO ()
+casadi__SX__setSub__4 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSub__4 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSub__4 :: SXClass a => a -> SX -> Bool -> Sparsity -> IO ()
+sx_setSub__4 x = casadi__SX__setSub__4 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSub__5" c_casadi__SX__setSub__5
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr IMatrix' -> IO ()
+casadi__SX__setSub__5
+  :: SX -> SX -> Bool -> IMatrix -> IO ()
+casadi__SX__setSub__5 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSub__5 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSub__5 :: SXClass a => a -> SX -> Bool -> IMatrix -> IO ()
+sx_setSub__5 x = casadi__SX__setSub__5 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setSub__6" c_casadi__SX__setSub__6
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> Ptr Slice' -> IO ()
+casadi__SX__setSub__6
+  :: SX -> SX -> Bool -> Slice -> IO ()
+casadi__SX__setSub__6 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setSub__6 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setSub__6 :: SXClass a => a -> SX -> Bool -> Slice -> IO ()
+sx_setSub__6 x = casadi__SX__setSub__6 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setWidth" c_casadi__SX__setWidth
+  :: Ptr (Ptr StdString) -> CInt -> IO ()
+casadi__SX__setWidth
+  :: Int -> IO ()
+casadi__SX__setWidth x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setWidth errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setWidth :: Int -> IO ()
+sx_setWidth = casadi__SX__setWidth
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__setZero" c_casadi__SX__setZero
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__setZero
+  :: SX -> IO ()
+casadi__SX__setZero x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__setZero errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_setZero :: SXClass a => a -> IO ()
+sx_setZero x = casadi__SX__setZero (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__size__0" c_casadi__SX__size__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO CInt
+casadi__SX__size__0
+  :: SX -> SparsityType -> IO Int
+casadi__SX__size__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__size__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_size__0 :: SXClass a => a -> SparsityType -> IO Int
+sx_size__0 x = casadi__SX__size__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__size__1" c_casadi__SX__size__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__size__1
+  :: SX -> IO Int
+casadi__SX__size__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__size__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_size__1 :: SXClass a => a -> IO Int
+sx_size__1 x = casadi__SX__size__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__size1" c_casadi__SX__size1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__size1
+  :: SX -> IO Int
+casadi__SX__size1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__size1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_size1 :: SXClass a => a -> IO Int
+sx_size1 x = casadi__SX__size1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__size2" c_casadi__SX__size2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__size2
+  :: SX -> IO Int
+casadi__SX__size2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__size2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_size2 :: SXClass a => a -> IO Int
+sx_size2 x = casadi__SX__size2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sizeD" c_casadi__SX__sizeD
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__sizeD
+  :: SX -> IO Int
+casadi__SX__sizeD x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sizeD errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sizeD :: SXClass a => a -> IO Int
+sx_sizeD x = casadi__SX__sizeD (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sizeL" c_casadi__SX__sizeL
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__sizeL
+  :: SX -> IO Int
+casadi__SX__sizeL x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sizeL errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sizeL :: SXClass a => a -> IO Int
+sx_sizeL x = casadi__SX__sizeL (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sizeU" c_casadi__SX__sizeU
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__sizeU
+  :: SX -> IO Int
+casadi__SX__sizeU x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sizeU errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sizeU :: SXClass a => a -> IO Int
+sx_sizeU x = casadi__SX__sizeU (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparse__0" c_casadi__SX__sparse__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__sparse__0
+  :: Sparsity -> SX -> IO SX
+casadi__SX__sparse__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sparse__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sparse__0 :: Sparsity -> SX -> IO SX
+sx_sparse__0 = casadi__SX__sparse__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparse__1" c_casadi__SX__sparse__1
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+casadi__SX__sparse__1
+  :: IO SX
+casadi__SX__sparse__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sparse__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sparse__1 :: IO SX
+sx_sparse__1 = casadi__SX__sparse__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparse__2" c_casadi__SX__sparse__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
+casadi__SX__sparse__2
+  :: Int -> IO SX
+casadi__SX__sparse__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sparse__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sparse__2 :: Int -> IO SX
+sx_sparse__2 = casadi__SX__sparse__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparse__3" c_casadi__SX__sparse__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__sparse__3
+  :: Int -> Int -> IO SX
+casadi__SX__sparse__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sparse__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sparse__3 :: Int -> Int -> IO SX
+sx_sparse__3 = casadi__SX__sparse__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparsity__0" c_casadi__SX__sparsity__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
+casadi__SX__sparsity__0
+  :: SX -> IO Sparsity
+casadi__SX__sparsity__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sparsity__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sparsity__0 :: SXClass a => a -> IO Sparsity
+sx_sparsity__0 x = casadi__SX__sparsity__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparsity__1" c_casadi__SX__sparsity__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
+casadi__SX__sparsity__1
+  :: SX -> IO Sparsity
+casadi__SX__sparsity__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sparsity__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sparsity__1 :: SXClass a => a -> IO Sparsity
+sx_sparsity__1 x = casadi__SX__sparsity__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparsityRef__0" c_casadi__SX__sparsityRef__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
+casadi__SX__sparsityRef__0
+  :: SX -> IO Sparsity
+casadi__SX__sparsityRef__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sparsityRef__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sparsityRef__0 :: SXClass a => a -> IO Sparsity
+sx_sparsityRef__0 x = casadi__SX__sparsityRef__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sparsityRef__1" c_casadi__SX__sparsityRef__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Sparsity')
+casadi__SX__sparsityRef__1
+  :: SX -> IO Sparsity
+casadi__SX__sparsityRef__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sparsityRef__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sparsityRef__1 :: SXClass a => a -> IO Sparsity
+sx_sparsityRef__1 x = casadi__SX__sparsityRef__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__0" c_casadi__SX__sym__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+casadi__SX__sym__0
+  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
+casadi__SX__sym__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sym__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sym__0 :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
+sx_sym__0 = casadi__SX__sym__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__1" c_casadi__SX__sym__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+casadi__SX__sym__1
+  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
+casadi__SX__sym__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sym__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sym__1 :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
+sx_sym__1 = casadi__SX__sym__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__2" c_casadi__SX__sym__2
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> CInt -> IO (Ptr (StdVec (Ptr SX')))
+casadi__SX__sym__2
+  :: String -> Int -> Int -> Int -> IO (Vector SX)
+casadi__SX__sym__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sym__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sym__2 :: String -> Int -> Int -> Int -> IO (Vector SX)
+sx_sym__2 = casadi__SX__sym__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__3" c_casadi__SX__sym__3
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
+casadi__SX__sym__3
+  :: String -> Sparsity -> Int -> IO (Vector SX)
+casadi__SX__sym__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sym__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sym__3 :: String -> Sparsity -> Int -> IO (Vector SX)
+sx_sym__3 = casadi__SX__sym__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__4" c_casadi__SX__sym__4
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__sym__4
+  :: String -> Sparsity -> IO SX
+casadi__SX__sym__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sym__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sym__4 :: String -> Sparsity -> IO SX
+sx_sym__4 = casadi__SX__sym__4
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__5" c_casadi__SX__sym__5
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr SX')
+casadi__SX__sym__5
+  :: String -> IO SX
+casadi__SX__sym__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sym__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sym__5 :: String -> IO SX
+sx_sym__5 = casadi__SX__sym__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__6" c_casadi__SX__sym__6
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> IO (Ptr SX')
+casadi__SX__sym__6
+  :: String -> Int -> IO SX
+casadi__SX__sym__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sym__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sym__6 :: String -> Int -> IO SX
+sx_sym__6 = casadi__SX__sym__6
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__sym__7" c_casadi__SX__sym__7
+  :: Ptr (Ptr StdString) -> Ptr StdString -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__sym__7
+  :: String -> Int -> Int -> IO SX
+casadi__SX__sym__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__sym__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_sym__7 :: String -> Int -> Int -> IO SX
+sx_sym__7 = casadi__SX__sym__7
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__toSlice__0" c_casadi__SX__toSlice__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr Slice')
+casadi__SX__toSlice__0
+  :: SX -> IO Slice
+casadi__SX__toSlice__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__toSlice__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_toSlice__0 :: SXClass a => a -> IO Slice
+sx_toSlice__0 x = casadi__SX__toSlice__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__toSlice__1" c_casadi__SX__toSlice__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr Slice')
+casadi__SX__toSlice__1
+  :: SX -> Bool -> IO Slice
+casadi__SX__toSlice__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__toSlice__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_toSlice__1 :: SXClass a => a -> Bool -> IO Slice
+sx_toSlice__1 x = casadi__SX__toSlice__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__triplet__0" c_casadi__SX__triplet__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec (Ptr SXElement')) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__triplet__0
+  :: Vector Int -> Vector Int -> Vector SXElement -> Int -> Int -> IO SX
+casadi__SX__triplet__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__triplet__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_triplet__0 :: Vector Int -> Vector Int -> Vector SXElement -> Int -> Int -> IO SX
+sx_triplet__0 = casadi__SX__triplet__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__triplet__1" c_casadi__SX__triplet__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec (Ptr SXElement')) -> IO (Ptr SX')
+casadi__SX__triplet__1
+  :: Vector Int -> Vector Int -> Vector SXElement -> IO SX
+casadi__SX__triplet__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__triplet__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_triplet__1 :: Vector Int -> Vector Int -> Vector SXElement -> IO SX
+sx_triplet__1 = casadi__SX__triplet__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__unary" c_casadi__SX__unary
+  :: Ptr (Ptr StdString) -> CInt -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__unary
+  :: Int -> SX -> IO SX
+casadi__SX__unary x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__unary errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_unary :: Int -> SX -> IO SX
+sx_unary = casadi__SX__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__0" c_casadi__SX__zeros__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__zeros__0
+  :: Sparsity -> IO SX
+casadi__SX__zeros__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zeros__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zeros__0 :: Sparsity -> IO SX
+sx_zeros__0 = casadi__SX__zeros__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__1" c_casadi__SX__zeros__1
+  :: Ptr (Ptr StdString) -> IO (Ptr SX')
+casadi__SX__zeros__1
+  :: IO SX
+casadi__SX__zeros__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zeros__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zeros__1 :: IO SX
+sx_zeros__1 = casadi__SX__zeros__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__2" c_casadi__SX__zeros__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr SX')
+casadi__SX__zeros__2
+  :: Int -> IO SX
+casadi__SX__zeros__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zeros__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zeros__2 :: Int -> IO SX
+sx_zeros__2 = casadi__SX__zeros__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zeros__3" c_casadi__SX__zeros__3
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__zeros__3
+  :: Int -> Int -> IO SX
+casadi__SX__zeros__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zeros__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zeros__3 :: Int -> Int -> IO SX
+sx_zeros__3 = casadi__SX__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_abs" c_casadi__SX__zz_abs
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_abs
+  :: SX -> IO SX
+casadi__SX__zz_abs x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_abs errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_abs :: SXClass a => a -> IO SX
+sx_zz_abs x = casadi__SX__zz_abs (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_acos" c_casadi__SX__zz_acos
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_acos
+  :: SX -> IO SX
+casadi__SX__zz_acos x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_acos errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_acos :: SXClass a => a -> IO SX
+sx_zz_acos x = casadi__SX__zz_acos (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_acosh" c_casadi__SX__zz_acosh
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_acosh
+  :: SX -> IO SX
+casadi__SX__zz_acosh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_acosh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_acosh :: SXClass a => a -> IO SX
+sx_zz_acosh x = casadi__SX__zz_acosh (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_addMultiple__0" c_casadi__SX__zz_addMultiple__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> IO ()
+casadi__SX__zz_addMultiple__0
+  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
+casadi__SX__zz_addMultiple__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_addMultiple__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_addMultiple__0 :: SXClass a => a -> Vector SXElement -> Vector SXElement -> IO ()
+sx_zz_addMultiple__0 x = casadi__SX__zz_addMultiple__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_addMultiple__1" c_casadi__SX__zz_addMultiple__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> CInt -> IO ()
+casadi__SX__zz_addMultiple__1
+  :: SX -> Vector SXElement -> Vector SXElement -> Bool -> IO ()
+casadi__SX__zz_addMultiple__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_addMultiple__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_addMultiple__1 :: SXClass a => a -> Vector SXElement -> Vector SXElement -> Bool -> IO ()
+sx_zz_addMultiple__1 x = casadi__SX__zz_addMultiple__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_adj" c_casadi__SX__zz_adj
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_adj
+  :: SX -> IO SX
+casadi__SX__zz_adj x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_adj errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_adj :: SXClass a => a -> IO SX
+sx_zz_adj x = casadi__SX__zz_adj (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_all" c_casadi__SX__zz_all
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_all
+  :: SX -> IO SX
+casadi__SX__zz_all x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_all errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_all :: SXClass a => a -> IO SX
+sx_zz_all x = casadi__SX__zz_all (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_and" c_casadi__SX__zz_and
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_and
+  :: SX -> SX -> IO SX
+casadi__SX__zz_and x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_and errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_and :: SXClass a => a -> SX -> IO SX
+sx_zz_and x = casadi__SX__zz_and (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_any" c_casadi__SX__zz_any
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_any
+  :: SX -> IO SX
+casadi__SX__zz_any x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_any errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_any :: SXClass a => a -> IO SX
+sx_zz_any x = casadi__SX__zz_any (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_asin" c_casadi__SX__zz_asin
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_asin
+  :: SX -> IO SX
+casadi__SX__zz_asin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_asin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_asin :: SXClass a => a -> IO SX
+sx_zz_asin x = casadi__SX__zz_asin (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_asinh" c_casadi__SX__zz_asinh
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_asinh
+  :: SX -> IO SX
+casadi__SX__zz_asinh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_asinh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_asinh :: SXClass a => a -> IO SX
+sx_zz_asinh x = casadi__SX__zz_asinh (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_atan" c_casadi__SX__zz_atan
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_atan
+  :: SX -> IO SX
+casadi__SX__zz_atan x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_atan errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_atan :: SXClass a => a -> IO SX
+sx_zz_atan x = casadi__SX__zz_atan (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_atan2" c_casadi__SX__zz_atan2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_atan2
+  :: SX -> SX -> IO SX
+casadi__SX__zz_atan2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_atan2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_atan2 :: SXClass a => a -> SX -> IO SX
+sx_zz_atan2 x = casadi__SX__zz_atan2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_atanh" c_casadi__SX__zz_atanh
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_atanh
+  :: SX -> IO SX
+casadi__SX__zz_atanh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_atanh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_atanh :: SXClass a => a -> IO SX
+sx_zz_atanh x = casadi__SX__zz_atanh (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_blockcat" c_casadi__SX__zz_blockcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> IO (Ptr SX')
+casadi__SX__zz_blockcat
+  :: Vector (Vector SX) -> IO SX
+casadi__SX__zz_blockcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_blockcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_blockcat :: Vector (Vector SX) -> IO SX
+sx_zz_blockcat = casadi__SX__zz_blockcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_blocksplit" c_casadi__SX__zz_blocksplit
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
+casadi__SX__zz_blocksplit
+  :: SX -> Vector Int -> Vector Int -> IO (Vector (Vector SX))
+casadi__SX__zz_blocksplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_blocksplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_blocksplit :: SXClass a => a -> Vector Int -> Vector Int -> IO (Vector (Vector SX))
+sx_zz_blocksplit x = casadi__SX__zz_blocksplit (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_ceil" c_casadi__SX__zz_ceil
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_ceil
+  :: SX -> IO SX
+casadi__SX__zz_ceil x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_ceil errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_ceil :: SXClass a => a -> IO SX
+sx_zz_ceil x = casadi__SX__zz_ceil (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_cofactor" c_casadi__SX__zz_cofactor
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__zz_cofactor
+  :: SX -> Int -> Int -> IO SX
+casadi__SX__zz_cofactor x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_cofactor errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_cofactor :: SXClass a => a -> Int -> Int -> IO SX
+sx_zz_cofactor x = casadi__SX__zz_cofactor (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_cos" c_casadi__SX__zz_cos
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_cos
+  :: SX -> IO SX
+casadi__SX__zz_cos x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_cos errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_cos :: SXClass a => a -> IO SX
+sx_zz_cos x = casadi__SX__zz_cos (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_cosh" c_casadi__SX__zz_cosh
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_cosh
+  :: SX -> IO SX
+casadi__SX__zz_cosh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_cosh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_cosh :: SXClass a => a -> IO SX
+sx_zz_cosh x = casadi__SX__zz_cosh (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_countNodes" c_casadi__SX__zz_countNodes
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__zz_countNodes
+  :: SX -> IO Int
+casadi__SX__zz_countNodes x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_countNodes errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_countNodes :: SXClass a => a -> IO Int
+sx_zz_countNodes x = casadi__SX__zz_countNodes (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_cross__0" c_casadi__SX__zz_cross__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_cross__0
+  :: SX -> SX -> IO SX
+casadi__SX__zz_cross__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_cross__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_cross__0 :: SXClass a => a -> SX -> IO SX
+sx_zz_cross__0 x = casadi__SX__zz_cross__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_cross__1" c_casadi__SX__zz_cross__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_cross__1
+  :: SX -> SX -> Int -> IO SX
+casadi__SX__zz_cross__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_cross__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_cross__1 :: SXClass a => a -> SX -> Int -> IO SX
+sx_zz_cross__1 x = casadi__SX__zz_cross__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_dense" c_casadi__SX__zz_dense
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_dense
+  :: SX -> IO SX
+casadi__SX__zz_dense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_dense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_dense :: SXClass a => a -> IO SX
+sx_zz_dense x = casadi__SX__zz_dense (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_dependsOn" c_casadi__SX__zz_dependsOn
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
+casadi__SX__zz_dependsOn
+  :: SX -> SX -> IO Bool
+casadi__SX__zz_dependsOn x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_dependsOn errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_dependsOn :: SXClass a => a -> SX -> IO Bool
+sx_zz_dependsOn x = casadi__SX__zz_dependsOn (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_det" c_casadi__SX__zz_det
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_det
+  :: SX -> IO SX
+casadi__SX__zz_det x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_det errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_det :: SXClass a => a -> IO SX
+sx_zz_det x = casadi__SX__zz_det (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_diag" c_casadi__SX__zz_diag
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_diag
+  :: SX -> IO SX
+casadi__SX__zz_diag x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_diag errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_diag :: SXClass a => a -> IO SX
+sx_zz_diag x = casadi__SX__zz_diag (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_diagcat" c_casadi__SX__zz_diagcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+casadi__SX__zz_diagcat
+  :: Vector SX -> IO SX
+casadi__SX__zz_diagcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_diagcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_diagcat :: Vector SX -> IO SX
+sx_zz_diagcat = casadi__SX__zz_diagcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_diagsplit" c_casadi__SX__zz_diagsplit
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
+casadi__SX__zz_diagsplit
+  :: SX -> Vector Int -> Vector Int -> IO (Vector SX)
+casadi__SX__zz_diagsplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_diagsplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_diagsplit :: SXClass a => a -> Vector Int -> Vector Int -> IO (Vector SX)
+sx_zz_diagsplit x = casadi__SX__zz_diagsplit (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_eig_symbolic" c_casadi__SX__zz_eig_symbolic
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_eig_symbolic
+  :: SX -> IO SX
+casadi__SX__zz_eig_symbolic x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_eig_symbolic errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_eig_symbolic :: SXClass a => a -> IO SX
+sx_zz_eig_symbolic x = casadi__SX__zz_eig_symbolic (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_eq" c_casadi__SX__zz_eq
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_eq
+  :: SX -> SX -> IO SX
+casadi__SX__zz_eq x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_eq errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_eq :: SXClass a => a -> SX -> IO SX
+sx_zz_eq x = casadi__SX__zz_eq (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_erf" c_casadi__SX__zz_erf
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_erf
+  :: SX -> IO SX
+casadi__SX__zz_erf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_erf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_erf :: SXClass a => a -> IO SX
+sx_zz_erf x = casadi__SX__zz_erf (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_erfinv" c_casadi__SX__zz_erfinv
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_erfinv
+  :: SX -> IO SX
+casadi__SX__zz_erfinv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_erfinv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_erfinv :: SXClass a => a -> IO SX
+sx_zz_erfinv x = casadi__SX__zz_erfinv (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_exp" c_casadi__SX__zz_exp
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_exp
+  :: SX -> IO SX
+casadi__SX__zz_exp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_exp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_exp :: SXClass a => a -> IO SX
+sx_zz_exp x = casadi__SX__zz_exp (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_expand" c_casadi__SX__zz_expand
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__zz_expand
+  :: SX -> SX -> SX -> IO ()
+casadi__SX__zz_expand x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_expand errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_expand :: SXClass a => a -> SX -> SX -> IO ()
+sx_zz_expand x = casadi__SX__zz_expand (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_extractShared__0" c_casadi__SX__zz_extractShared__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
+casadi__SX__zz_extractShared__0
+  :: Vector SX -> Vector SX -> Vector SX -> IO ()
+casadi__SX__zz_extractShared__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_extractShared__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_extractShared__0 :: Vector SX -> Vector SX -> Vector SX -> IO ()
+sx_zz_extractShared__0 = casadi__SX__zz_extractShared__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_extractShared__1" c_casadi__SX__zz_extractShared__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO ()
+casadi__SX__zz_extractShared__1
+  :: Vector SX -> Vector SX -> Vector SX -> String -> IO ()
+casadi__SX__zz_extractShared__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_extractShared__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_extractShared__1 :: Vector SX -> Vector SX -> Vector SX -> String -> IO ()
+sx_zz_extractShared__1 = casadi__SX__zz_extractShared__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_extractShared__2" c_casadi__SX__zz_extractShared__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO ()
+casadi__SX__zz_extractShared__2
+  :: Vector SX -> Vector SX -> Vector SX -> String -> String -> IO ()
+casadi__SX__zz_extractShared__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_extractShared__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_extractShared__2 :: Vector SX -> Vector SX -> Vector SX -> String -> String -> IO ()
+sx_zz_extractShared__2 = casadi__SX__zz_extractShared__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_floor" c_casadi__SX__zz_floor
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_floor
+  :: SX -> IO SX
+casadi__SX__zz_floor x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_floor errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_floor :: SXClass a => a -> IO SX
+sx_zz_floor x = casadi__SX__zz_floor (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_gauss_quadrature__0" c_casadi__SX__zz_gauss_quadrature__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_gauss_quadrature__0
+  :: SX -> SX -> SX -> SX -> Int -> SX -> IO SX
+casadi__SX__zz_gauss_quadrature__0 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_gauss_quadrature__0 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_gauss_quadrature__0 :: SXClass a => a -> SX -> SX -> SX -> Int -> SX -> IO SX
+sx_zz_gauss_quadrature__0 x = casadi__SX__zz_gauss_quadrature__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_gauss_quadrature__1" c_casadi__SX__zz_gauss_quadrature__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_gauss_quadrature__1
+  :: SX -> SX -> SX -> SX -> IO SX
+casadi__SX__zz_gauss_quadrature__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_gauss_quadrature__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_gauss_quadrature__1 :: SXClass a => a -> SX -> SX -> SX -> IO SX
+sx_zz_gauss_quadrature__1 x = casadi__SX__zz_gauss_quadrature__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_gauss_quadrature__2" c_casadi__SX__zz_gauss_quadrature__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_gauss_quadrature__2
+  :: SX -> SX -> SX -> SX -> Int -> IO SX
+casadi__SX__zz_gauss_quadrature__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_gauss_quadrature__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_gauss_quadrature__2 :: SXClass a => a -> SX -> SX -> SX -> Int -> IO SX
+sx_zz_gauss_quadrature__2 x = casadi__SX__zz_gauss_quadrature__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_ge" c_casadi__SX__zz_ge
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_ge
+  :: SX -> SX -> IO SX
+casadi__SX__zz_ge x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_ge errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_ge :: SXClass a => a -> SX -> IO SX
+sx_zz_ge x = casadi__SX__zz_ge (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_getMinor" c_casadi__SX__zz_getMinor
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__zz_getMinor
+  :: SX -> Int -> Int -> IO SX
+casadi__SX__zz_getMinor x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_getMinor errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_getMinor :: SXClass a => a -> Int -> Int -> IO SX
+sx_zz_getMinor x = casadi__SX__zz_getMinor (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_getOperatorRepresentation" c_casadi__SX__zz_getOperatorRepresentation
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+casadi__SX__zz_getOperatorRepresentation
+  :: SX -> Vector String -> IO String
+casadi__SX__zz_getOperatorRepresentation x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_getOperatorRepresentation errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_getOperatorRepresentation :: SXClass a => a -> Vector String -> IO String
+sx_zz_getOperatorRepresentation x = casadi__SX__zz_getOperatorRepresentation (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_getSymbols__0" c_casadi__SX__zz_getSymbols__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+casadi__SX__zz_getSymbols__0
+  :: Vector SX -> IO (Vector SX)
+casadi__SX__zz_getSymbols__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_getSymbols__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_getSymbols__0 :: Vector SX -> IO (Vector SX)
+sx_zz_getSymbols__0 = casadi__SX__zz_getSymbols__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_getSymbols__1" c_casadi__SX__zz_getSymbols__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
+casadi__SX__zz_getSymbols__1
+  :: SX -> IO (Vector SX)
+casadi__SX__zz_getSymbols__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_getSymbols__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_getSymbols__1 :: SXClass a => a -> IO (Vector SX)
+sx_zz_getSymbols__1 x = casadi__SX__zz_getSymbols__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_gradient" c_casadi__SX__zz_gradient
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_gradient
+  :: SX -> SX -> IO SX
+casadi__SX__zz_gradient x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_gradient errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_gradient :: SXClass a => a -> SX -> IO SX
+sx_zz_gradient x = casadi__SX__zz_gradient (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_gt" c_casadi__SX__zz_gt
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_gt
+  :: SX -> SX -> IO SX
+casadi__SX__zz_gt x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_gt errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_gt :: SXClass a => a -> SX -> IO SX
+sx_zz_gt x = casadi__SX__zz_gt (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_heaviside" c_casadi__SX__zz_heaviside
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_heaviside
+  :: SX -> IO SX
+casadi__SX__zz_heaviside x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_heaviside errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_heaviside :: SXClass a => a -> IO SX
+sx_zz_heaviside x = casadi__SX__zz_heaviside (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_hessian__0" c_casadi__SX__zz_hessian__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__zz_hessian__0
+  :: SX -> SX -> SX -> SX -> IO ()
+casadi__SX__zz_hessian__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_hessian__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_hessian__0 :: SXClass a => a -> SX -> SX -> SX -> IO ()
+sx_zz_hessian__0 x = casadi__SX__zz_hessian__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_hessian__1" c_casadi__SX__zz_hessian__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_hessian__1
+  :: SX -> SX -> IO SX
+casadi__SX__zz_hessian__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_hessian__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_hessian__1 :: SXClass a => a -> SX -> IO SX
+sx_zz_hessian__1 x = casadi__SX__zz_hessian__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_horzcat" c_casadi__SX__zz_horzcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+casadi__SX__zz_horzcat
+  :: Vector SX -> IO SX
+casadi__SX__zz_horzcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_horzcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_horzcat :: Vector SX -> IO SX
+sx_zz_horzcat = casadi__SX__zz_horzcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_horzsplit" c_casadi__SX__zz_horzsplit
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
+casadi__SX__zz_horzsplit
+  :: SX -> Vector Int -> IO (Vector SX)
+casadi__SX__zz_horzsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_horzsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_horzsplit :: SXClass a => a -> Vector Int -> IO (Vector SX)
+sx_zz_horzsplit x = casadi__SX__zz_horzsplit (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_if_else" c_casadi__SX__zz_if_else
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_if_else
+  :: SX -> SX -> SX -> IO SX
+casadi__SX__zz_if_else x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_if_else errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_if_else :: SXClass a => a -> SX -> SX -> IO SX
+sx_zz_if_else x = casadi__SX__zz_if_else (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_if_else_zero" c_casadi__SX__zz_if_else_zero
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_if_else_zero
+  :: SX -> SX -> IO SX
+casadi__SX__zz_if_else_zero x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_if_else_zero errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_if_else_zero :: SXClass a => a -> SX -> IO SX
+sx_zz_if_else_zero x = casadi__SX__zz_if_else_zero (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_inner_prod" c_casadi__SX__zz_inner_prod
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_inner_prod
+  :: SX -> SX -> IO SX
+casadi__SX__zz_inner_prod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_inner_prod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_inner_prod :: SXClass a => a -> SX -> IO SX
+sx_zz_inner_prod x = casadi__SX__zz_inner_prod (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_inv" c_casadi__SX__zz_inv
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_inv
+  :: SX -> IO SX
+casadi__SX__zz_inv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_inv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_inv :: SXClass a => a -> IO SX
+sx_zz_inv x = casadi__SX__zz_inv (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_isEqual__0" c_casadi__SX__zz_isEqual__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
+casadi__SX__zz_isEqual__0
+  :: SX -> SX -> IO Bool
+casadi__SX__zz_isEqual__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_isEqual__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_isEqual__0 :: SXClass a => a -> SX -> IO Bool
+sx_zz_isEqual__0 x = casadi__SX__zz_isEqual__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_isEqual__1" c_casadi__SX__zz_isEqual__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO CInt
+casadi__SX__zz_isEqual__1
+  :: SX -> SX -> Int -> IO Bool
+casadi__SX__zz_isEqual__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_isEqual__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_isEqual__1 :: SXClass a => a -> SX -> Int -> IO Bool
+sx_zz_isEqual__1 x = casadi__SX__zz_isEqual__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_jacobian" c_casadi__SX__zz_jacobian
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_jacobian
+  :: SX -> SX -> IO SX
+casadi__SX__zz_jacobian x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_jacobian errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_jacobian :: SXClass a => a -> SX -> IO SX
+sx_zz_jacobian x = casadi__SX__zz_jacobian (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_jacobianTimesVector__0" c_casadi__SX__zz_jacobianTimesVector__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_jacobianTimesVector__0
+  :: SX -> SX -> SX -> IO SX
+casadi__SX__zz_jacobianTimesVector__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_jacobianTimesVector__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_jacobianTimesVector__0 :: SXClass a => a -> SX -> SX -> IO SX
+sx_zz_jacobianTimesVector__0 x = casadi__SX__zz_jacobianTimesVector__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_jacobianTimesVector__1" c_casadi__SX__zz_jacobianTimesVector__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_jacobianTimesVector__1
+  :: SX -> SX -> SX -> Bool -> IO SX
+casadi__SX__zz_jacobianTimesVector__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_jacobianTimesVector__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_jacobianTimesVector__1 :: SXClass a => a -> SX -> SX -> Bool -> IO SX
+sx_zz_jacobianTimesVector__1 x = casadi__SX__zz_jacobianTimesVector__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_kron" c_casadi__SX__zz_kron
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_kron
+  :: SX -> SX -> IO SX
+casadi__SX__zz_kron x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_kron errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_kron :: SXClass a => a -> SX -> IO SX
+sx_zz_kron x = casadi__SX__zz_kron (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_le" c_casadi__SX__zz_le
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_le
+  :: SX -> SX -> IO SX
+casadi__SX__zz_le x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_le errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_le :: SXClass a => a -> SX -> IO SX
+sx_zz_le x = casadi__SX__zz_le (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_linspace" c_casadi__SX__zz_linspace
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_linspace
+  :: SX -> SX -> Int -> IO SX
+casadi__SX__zz_linspace x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_linspace errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_linspace :: SXClass a => a -> SX -> Int -> IO SX
+sx_zz_linspace x = casadi__SX__zz_linspace (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_log" c_casadi__SX__zz_log
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_log
+  :: SX -> IO SX
+casadi__SX__zz_log x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_log errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_log :: SXClass a => a -> IO SX
+sx_zz_log x = casadi__SX__zz_log (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_log10" c_casadi__SX__zz_log10
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_log10
+  :: SX -> IO SX
+casadi__SX__zz_log10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_log10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_log10 :: SXClass a => a -> IO SX
+sx_zz_log10 x = casadi__SX__zz_log10 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_lt" c_casadi__SX__zz_lt
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_lt
+  :: SX -> SX -> IO SX
+casadi__SX__zz_lt x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_lt errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_lt :: SXClass a => a -> SX -> IO SX
+sx_zz_lt x = casadi__SX__zz_lt (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_max" c_casadi__SX__zz_max
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_max
+  :: SX -> SX -> IO SX
+casadi__SX__zz_max x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_max errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_max :: SXClass a => a -> SX -> IO SX
+sx_zz_max x = casadi__SX__zz_max (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_min" c_casadi__SX__zz_min
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_min
+  :: SX -> SX -> IO SX
+casadi__SX__zz_min x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_min errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_min :: SXClass a => a -> SX -> IO SX
+sx_zz_min x = casadi__SX__zz_min (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_minus" c_casadi__SX__zz_minus
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_minus
+  :: SX -> SX -> IO SX
+casadi__SX__zz_minus x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_minus errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_minus :: SXClass a => a -> SX -> IO SX
+sx_zz_minus x = casadi__SX__zz_minus (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_mod" c_casadi__SX__zz_mod
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_mod
+  :: SX -> SX -> IO SX
+casadi__SX__zz_mod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_mod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_mod :: SXClass a => a -> SX -> IO SX
+sx_zz_mod x = casadi__SX__zz_mod (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_mpower" c_casadi__SX__zz_mpower
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_mpower
+  :: SX -> SX -> IO SX
+casadi__SX__zz_mpower x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_mpower errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_mpower :: SXClass a => a -> SX -> IO SX
+sx_zz_mpower x = casadi__SX__zz_mpower (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_mtaylor__0" c_casadi__SX__zz_mtaylor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr SX')
+casadi__SX__zz_mtaylor__0
+  :: SX -> SX -> SX -> Int -> Vector Int -> IO SX
+casadi__SX__zz_mtaylor__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_mtaylor__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_mtaylor__0 :: SXClass a => a -> SX -> SX -> Int -> Vector Int -> IO SX
+sx_zz_mtaylor__0 x = casadi__SX__zz_mtaylor__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_mtaylor__1" c_casadi__SX__zz_mtaylor__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_mtaylor__1
+  :: SX -> SX -> SX -> IO SX
+casadi__SX__zz_mtaylor__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_mtaylor__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_mtaylor__1 :: SXClass a => a -> SX -> SX -> IO SX
+sx_zz_mtaylor__1 x = casadi__SX__zz_mtaylor__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_mtaylor__2" c_casadi__SX__zz_mtaylor__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_mtaylor__2
+  :: SX -> SX -> SX -> Int -> IO SX
+casadi__SX__zz_mtaylor__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_mtaylor__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_mtaylor__2 :: SXClass a => a -> SX -> SX -> Int -> IO SX
+sx_zz_mtaylor__2 x = casadi__SX__zz_mtaylor__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_mtimes__0" c_casadi__SX__zz_mtimes__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_mtimes__0
+  :: SX -> SX -> SX -> IO SX
+casadi__SX__zz_mtimes__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_mtimes__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_mtimes__0 :: SXClass a => a -> SX -> SX -> IO SX
+sx_zz_mtimes__0 x = casadi__SX__zz_mtimes__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_mtimes__1" c_casadi__SX__zz_mtimes__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_mtimes__1
+  :: SX -> SX -> IO SX
+casadi__SX__zz_mtimes__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_mtimes__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_mtimes__1 :: SXClass a => a -> SX -> IO SX
+sx_zz_mtimes__1 x = casadi__SX__zz_mtimes__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_ne" c_casadi__SX__zz_ne
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_ne
+  :: SX -> SX -> IO SX
+casadi__SX__zz_ne x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_ne errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_ne :: SXClass a => a -> SX -> IO SX
+sx_zz_ne x = casadi__SX__zz_ne (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_norm_0_mul_nn" c_casadi__SX__zz_norm_0_mul_nn
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
+casadi__SX__zz_norm_0_mul_nn
+  :: SX -> SX -> Vector Bool -> Vector Int -> IO Int
+casadi__SX__zz_norm_0_mul_nn x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_norm_0_mul_nn errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_norm_0_mul_nn :: SXClass a => a -> SX -> Vector Bool -> Vector Int -> IO Int
+sx_zz_norm_0_mul_nn x = casadi__SX__zz_norm_0_mul_nn (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_norm_1" c_casadi__SX__zz_norm_1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_norm_1
+  :: SX -> IO SX
+casadi__SX__zz_norm_1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_norm_1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_norm_1 :: SXClass a => a -> IO SX
+sx_zz_norm_1 x = casadi__SX__zz_norm_1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_norm_2" c_casadi__SX__zz_norm_2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_norm_2
+  :: SX -> IO SX
+casadi__SX__zz_norm_2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_norm_2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_norm_2 :: SXClass a => a -> IO SX
+sx_zz_norm_2 x = casadi__SX__zz_norm_2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_norm_F" c_casadi__SX__zz_norm_F
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_norm_F
+  :: SX -> IO SX
+casadi__SX__zz_norm_F x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_norm_F errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_norm_F :: SXClass a => a -> IO SX
+sx_zz_norm_F x = casadi__SX__zz_norm_F (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_norm_inf" c_casadi__SX__zz_norm_inf
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_norm_inf
+  :: SX -> IO SX
+casadi__SX__zz_norm_inf x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_norm_inf errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_norm_inf :: SXClass a => a -> IO SX
+sx_zz_norm_inf x = casadi__SX__zz_norm_inf (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_not" c_casadi__SX__zz_not
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_not
+  :: SX -> IO SX
+casadi__SX__zz_not x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_not errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_not :: SXClass a => a -> IO SX
+sx_zz_not x = casadi__SX__zz_not (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_nullspace" c_casadi__SX__zz_nullspace
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_nullspace
+  :: SX -> IO SX
+casadi__SX__zz_nullspace x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_nullspace errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_nullspace :: SXClass a => a -> IO SX
+sx_zz_nullspace x = casadi__SX__zz_nullspace (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_or" c_casadi__SX__zz_or
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_or
+  :: SX -> SX -> IO SX
+casadi__SX__zz_or x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_or errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_or :: SXClass a => a -> SX -> IO SX
+sx_zz_or x = casadi__SX__zz_or (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_outer_prod" c_casadi__SX__zz_outer_prod
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_outer_prod
+  :: SX -> SX -> IO SX
+casadi__SX__zz_outer_prod x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_outer_prod errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_outer_prod :: SXClass a => a -> SX -> IO SX
+sx_zz_outer_prod x = casadi__SX__zz_outer_prod (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_pinv" c_casadi__SX__zz_pinv
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_pinv
+  :: SX -> IO SX
+casadi__SX__zz_pinv x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_pinv errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_pinv :: SXClass a => a -> IO SX
+sx_zz_pinv x = casadi__SX__zz_pinv (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_plus" c_casadi__SX__zz_plus
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_plus
+  :: SX -> SX -> IO SX
+casadi__SX__zz_plus x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_plus errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_plus :: SXClass a => a -> SX -> IO SX
+sx_zz_plus x = casadi__SX__zz_plus (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_poly_coeff" c_casadi__SX__zz_poly_coeff
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_poly_coeff
+  :: SX -> SX -> IO SX
+casadi__SX__zz_poly_coeff x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_poly_coeff errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_poly_coeff :: SXClass a => a -> SX -> IO SX
+sx_zz_poly_coeff x = casadi__SX__zz_poly_coeff (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_poly_roots" c_casadi__SX__zz_poly_roots
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_poly_roots
+  :: SX -> IO SX
+casadi__SX__zz_poly_roots x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_poly_roots errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_poly_roots :: SXClass a => a -> IO SX
+sx_zz_poly_roots x = casadi__SX__zz_poly_roots (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_polyval" c_casadi__SX__zz_polyval
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_polyval
+  :: SX -> SX -> IO SX
+casadi__SX__zz_polyval x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_polyval errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_polyval :: SXClass a => a -> SX -> IO SX
+sx_zz_polyval x = casadi__SX__zz_polyval (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_power" c_casadi__SX__zz_power
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_power
+  :: SX -> SX -> IO SX
+casadi__SX__zz_power x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_power errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_power :: SXClass a => a -> SX -> IO SX
+sx_zz_power x = casadi__SX__zz_power (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_printCompact" c_casadi__SX__zz_printCompact
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+casadi__SX__zz_printCompact
+  :: SX -> IO ()
+casadi__SX__zz_printCompact x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_printCompact errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_printCompact :: SXClass a => a -> IO ()
+sx_zz_printCompact x = casadi__SX__zz_printCompact (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_project" c_casadi__SX__zz_project
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__zz_project
+  :: SX -> Sparsity -> IO SX
+casadi__SX__zz_project x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_project errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_project :: SXClass a => a -> Sparsity -> IO SX
+sx_zz_project x = casadi__SX__zz_project (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_pw_const" c_casadi__SX__zz_pw_const
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_pw_const
+  :: SX -> SX -> SX -> IO SX
+casadi__SX__zz_pw_const x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_pw_const errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_pw_const :: SXClass a => a -> SX -> SX -> IO SX
+sx_zz_pw_const x = casadi__SX__zz_pw_const (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_pw_lin" c_casadi__SX__zz_pw_lin
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_pw_lin
+  :: SX -> SX -> SX -> IO SX
+casadi__SX__zz_pw_lin x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_pw_lin errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_pw_lin :: SXClass a => a -> SX -> SX -> IO SX
+sx_zz_pw_lin x = casadi__SX__zz_pw_lin (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_qr" c_casadi__SX__zz_qr
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+casadi__SX__zz_qr
+  :: SX -> SX -> SX -> IO ()
+casadi__SX__zz_qr x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_qr errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_qr :: SXClass a => a -> SX -> SX -> IO ()
+sx_zz_qr x = casadi__SX__zz_qr (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_quad_form__0" c_casadi__SX__zz_quad_form__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_quad_form__0
+  :: SX -> IO SX
+casadi__SX__zz_quad_form__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_quad_form__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_quad_form__0 :: SXClass a => a -> IO SX
+sx_zz_quad_form__0 x = casadi__SX__zz_quad_form__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_quad_form__1" c_casadi__SX__zz_quad_form__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_quad_form__1
+  :: SX -> SX -> IO SX
+casadi__SX__zz_quad_form__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_quad_form__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_quad_form__1 :: SXClass a => a -> SX -> IO SX
+sx_zz_quad_form__1 x = casadi__SX__zz_quad_form__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_ramp" c_casadi__SX__zz_ramp
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_ramp
+  :: SX -> IO SX
+casadi__SX__zz_ramp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_ramp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_ramp :: SXClass a => a -> IO SX
+sx_zz_ramp x = casadi__SX__zz_ramp (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_rdivide" c_casadi__SX__zz_rdivide
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_rdivide
+  :: SX -> SX -> IO SX
+casadi__SX__zz_rdivide x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_rdivide errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_rdivide :: SXClass a => a -> SX -> IO SX
+sx_zz_rdivide x = casadi__SX__zz_rdivide (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_rectangle" c_casadi__SX__zz_rectangle
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_rectangle
+  :: SX -> IO SX
+casadi__SX__zz_rectangle x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_rectangle errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_rectangle :: SXClass a => a -> IO SX
+sx_zz_rectangle x = casadi__SX__zz_rectangle (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_repmat__0" c_casadi__SX__zz_repmat__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__zz_repmat__0
+  :: SX -> Sparsity -> IO SX
+casadi__SX__zz_repmat__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_repmat__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_repmat__0 :: SXClass a => a -> Sparsity -> IO SX
+sx_zz_repmat__0 x = casadi__SX__zz_repmat__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_repmat__1" c_casadi__SX__zz_repmat__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_repmat__1
+  :: SX -> Int -> IO SX
+casadi__SX__zz_repmat__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_repmat__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_repmat__1 :: SXClass a => a -> Int -> IO SX
+sx_zz_repmat__1 x = casadi__SX__zz_repmat__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_repmat__2" c_casadi__SX__zz_repmat__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__zz_repmat__2
+  :: SX -> Int -> Int -> IO SX
+casadi__SX__zz_repmat__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_repmat__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_repmat__2 :: SXClass a => a -> Int -> Int -> IO SX
+sx_zz_repmat__2 x = casadi__SX__zz_repmat__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_reshape__0" c_casadi__SX__zz_reshape__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
+casadi__SX__zz_reshape__0
+  :: SX -> Sparsity -> IO SX
+casadi__SX__zz_reshape__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_reshape__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_reshape__0 :: SXClass a => a -> Sparsity -> IO SX
+sx_zz_reshape__0 x = casadi__SX__zz_reshape__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_reshape__1" c_casadi__SX__zz_reshape__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
+casadi__SX__zz_reshape__1
+  :: SX -> Int -> Int -> IO SX
+casadi__SX__zz_reshape__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_reshape__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_reshape__1 :: SXClass a => a -> Int -> Int -> IO SX
+sx_zz_reshape__1 x = casadi__SX__zz_reshape__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sign" c_casadi__SX__zz_sign
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sign
+  :: SX -> IO SX
+casadi__SX__zz_sign x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sign errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sign :: SXClass a => a -> IO SX
+sx_zz_sign x = casadi__SX__zz_sign (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_simplify" c_casadi__SX__zz_simplify
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_simplify
+  :: SX -> IO SX
+casadi__SX__zz_simplify x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_simplify errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_simplify :: SXClass a => a -> IO SX
+sx_zz_simplify x = casadi__SX__zz_simplify (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sin" c_casadi__SX__zz_sin
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sin
+  :: SX -> IO SX
+casadi__SX__zz_sin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sin :: SXClass a => a -> IO SX
+sx_zz_sin x = casadi__SX__zz_sin (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sinh" c_casadi__SX__zz_sinh
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sinh
+  :: SX -> IO SX
+casadi__SX__zz_sinh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sinh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sinh :: SXClass a => a -> IO SX
+sx_zz_sinh x = casadi__SX__zz_sinh (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_solve" c_casadi__SX__zz_solve
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_solve
+  :: SX -> SX -> IO SX
+casadi__SX__zz_solve x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_solve errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_solve :: SXClass a => a -> SX -> IO SX
+sx_zz_solve x = casadi__SX__zz_solve (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sparsify__0" c_casadi__SX__zz_sparsify__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sparsify__0
+  :: SX -> IO SX
+casadi__SX__zz_sparsify__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sparsify__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sparsify__0 :: SXClass a => a -> IO SX
+sx_zz_sparsify__0 x = casadi__SX__zz_sparsify__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sparsify__1" c_casadi__SX__zz_sparsify__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CDouble -> IO (Ptr SX')
+casadi__SX__zz_sparsify__1
+  :: SX -> Double -> IO SX
+casadi__SX__zz_sparsify__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sparsify__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sparsify__1 :: SXClass a => a -> Double -> IO SX
+sx_zz_sparsify__1 x = casadi__SX__zz_sparsify__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sprank__0" c_casadi__SX__zz_sprank__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__zz_sprank__0
+  :: SX -> IO Int
+casadi__SX__zz_sprank__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sprank__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sprank__0 :: SXClass a => a -> IO Int
+sx_zz_sprank__0 x = casadi__SX__zz_sprank__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sprank__1" c_casadi__SX__zz_sprank__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+casadi__SX__zz_sprank__1
+  :: SX -> IO Int
+casadi__SX__zz_sprank__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sprank__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sprank__1 :: SXClass a => a -> IO Int
+sx_zz_sprank__1 x = casadi__SX__zz_sprank__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_spy" c_casadi__SX__zz_spy
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_spy
+  :: SX -> IO SX
+casadi__SX__zz_spy x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_spy errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_spy :: SXClass a => a -> IO SX
+sx_zz_spy x = casadi__SX__zz_spy (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sqrt" c_casadi__SX__zz_sqrt
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sqrt
+  :: SX -> IO SX
+casadi__SX__zz_sqrt x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sqrt errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sqrt :: SXClass a => a -> IO SX
+sx_zz_sqrt x = casadi__SX__zz_sqrt (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_substitute__0" c_casadi__SX__zz_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+casadi__SX__zz_substitute__0
+  :: Vector SX -> Vector SX -> Vector SX -> IO (Vector SX)
+casadi__SX__zz_substitute__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_substitute__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_substitute__0 :: Vector SX -> Vector SX -> Vector SX -> IO (Vector SX)
+sx_zz_substitute__0 = casadi__SX__zz_substitute__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_substitute__1" c_casadi__SX__zz_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_substitute__1
+  :: SX -> SX -> SX -> IO SX
+casadi__SX__zz_substitute__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_substitute__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_substitute__1 :: SXClass a => a -> SX -> SX -> IO SX
+sx_zz_substitute__1 x = casadi__SX__zz_substitute__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_substituteInPlace__0" c_casadi__SX__zz_substituteInPlace__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
+casadi__SX__zz_substituteInPlace__0
+  :: Vector SX -> Vector SX -> Vector SX -> IO ()
+casadi__SX__zz_substituteInPlace__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_substituteInPlace__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_substituteInPlace__0 :: Vector SX -> Vector SX -> Vector SX -> IO ()
+sx_zz_substituteInPlace__0 = casadi__SX__zz_substituteInPlace__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_substituteInPlace__1" c_casadi__SX__zz_substituteInPlace__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> CInt -> IO ()
+casadi__SX__zz_substituteInPlace__1
+  :: Vector SX -> Vector SX -> Vector SX -> Bool -> IO ()
+casadi__SX__zz_substituteInPlace__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_substituteInPlace__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_substituteInPlace__1 :: Vector SX -> Vector SX -> Vector SX -> Bool -> IO ()
+sx_zz_substituteInPlace__1 = casadi__SX__zz_substituteInPlace__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sumAll" c_casadi__SX__zz_sumAll
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sumAll
+  :: SX -> IO SX
+casadi__SX__zz_sumAll x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sumAll errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sumAll :: SXClass a => a -> IO SX
+sx_zz_sumAll x = casadi__SX__zz_sumAll (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sumCols" c_casadi__SX__zz_sumCols
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sumCols
+  :: SX -> IO SX
+casadi__SX__zz_sumCols x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sumCols errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sumCols :: SXClass a => a -> IO SX
+sx_zz_sumCols x = casadi__SX__zz_sumCols (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sumRows" c_casadi__SX__zz_sumRows
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sumRows
+  :: SX -> IO SX
+casadi__SX__zz_sumRows x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sumRows errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sumRows :: SXClass a => a -> IO SX
+sx_zz_sumRows x = casadi__SX__zz_sumRows (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_sum_square" c_casadi__SX__zz_sum_square
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_sum_square
+  :: SX -> IO SX
+casadi__SX__zz_sum_square x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_sum_square errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_sum_square :: SXClass a => a -> IO SX
+sx_zz_sum_square x = casadi__SX__zz_sum_square (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_tan" c_casadi__SX__zz_tan
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_tan
+  :: SX -> IO SX
+casadi__SX__zz_tan x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_tan errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_tan :: SXClass a => a -> IO SX
+sx_zz_tan x = casadi__SX__zz_tan (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_tangent" c_casadi__SX__zz_tangent
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_tangent
+  :: SX -> SX -> IO SX
+casadi__SX__zz_tangent x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_tangent errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_tangent :: SXClass a => a -> SX -> IO SX
+sx_zz_tangent x = casadi__SX__zz_tangent (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_tanh" c_casadi__SX__zz_tanh
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_tanh
+  :: SX -> IO SX
+casadi__SX__zz_tanh x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_tanh errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_tanh :: SXClass a => a -> IO SX
+sx_zz_tanh x = casadi__SX__zz_tanh (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_taylor__0" c_casadi__SX__zz_taylor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_taylor__0
+  :: SX -> SX -> IO SX
+casadi__SX__zz_taylor__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_taylor__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_taylor__0 :: SXClass a => a -> SX -> IO SX
+sx_zz_taylor__0 x = casadi__SX__zz_taylor__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_taylor__1" c_casadi__SX__zz_taylor__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_taylor__1
+  :: SX -> SX -> SX -> IO SX
+casadi__SX__zz_taylor__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_taylor__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_taylor__1 :: SXClass a => a -> SX -> SX -> IO SX
+sx_zz_taylor__1 x = casadi__SX__zz_taylor__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_taylor__2" c_casadi__SX__zz_taylor__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_taylor__2
+  :: SX -> SX -> SX -> Int -> IO SX
+casadi__SX__zz_taylor__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_taylor__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_taylor__2 :: SXClass a => a -> SX -> SX -> Int -> IO SX
+sx_zz_taylor__2 x = casadi__SX__zz_taylor__2 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_times" c_casadi__SX__zz_times
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_times
+  :: SX -> SX -> IO SX
+casadi__SX__zz_times x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_times errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_times :: SXClass a => a -> SX -> IO SX
+sx_zz_times x = casadi__SX__zz_times (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_trace" c_casadi__SX__zz_trace
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_trace
+  :: SX -> IO SX
+casadi__SX__zz_trace x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_trace errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_trace :: SXClass a => a -> IO SX
+sx_zz_trace x = casadi__SX__zz_trace (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_triangle" c_casadi__SX__zz_triangle
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_triangle
+  :: SX -> IO SX
+casadi__SX__zz_triangle x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_triangle errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_triangle :: SXClass a => a -> IO SX
+sx_zz_triangle x = casadi__SX__zz_triangle (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_tril__0" c_casadi__SX__zz_tril__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_tril__0
+  :: SX -> IO SX
+casadi__SX__zz_tril__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_tril__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_tril__0 :: SXClass a => a -> IO SX
+sx_zz_tril__0 x = casadi__SX__zz_tril__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_tril__1" c_casadi__SX__zz_tril__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_tril__1
+  :: SX -> Bool -> IO SX
+casadi__SX__zz_tril__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_tril__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_tril__1 :: SXClass a => a -> Bool -> IO SX
+sx_zz_tril__1 x = casadi__SX__zz_tril__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_tril2symm" c_casadi__SX__zz_tril2symm
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_tril2symm
+  :: SX -> IO SX
+casadi__SX__zz_tril2symm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_tril2symm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_tril2symm :: SXClass a => a -> IO SX
+sx_zz_tril2symm x = casadi__SX__zz_tril2symm (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_triu__0" c_casadi__SX__zz_triu__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_triu__0
+  :: SX -> IO SX
+casadi__SX__zz_triu__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_triu__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_triu__0 :: SXClass a => a -> IO SX
+sx_zz_triu__0 x = casadi__SX__zz_triu__0 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_triu__1" c_casadi__SX__zz_triu__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr SX')
+casadi__SX__zz_triu__1
+  :: SX -> Bool -> IO SX
+casadi__SX__zz_triu__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_triu__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_triu__1 :: SXClass a => a -> Bool -> IO SX
+sx_zz_triu__1 x = casadi__SX__zz_triu__1 (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_triu2symm" c_casadi__SX__zz_triu2symm
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_triu2symm
+  :: SX -> IO SX
+casadi__SX__zz_triu2symm x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_triu2symm errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_triu2symm :: SXClass a => a -> IO SX
+sx_zz_triu2symm x = casadi__SX__zz_triu2symm (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_unite" c_casadi__SX__zz_unite
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_unite
+  :: SX -> SX -> IO SX
+casadi__SX__zz_unite x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_unite errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_unite :: SXClass a => a -> SX -> IO SX
+sx_zz_unite x = casadi__SX__zz_unite (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_vec" c_casadi__SX__zz_vec
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_vec
+  :: SX -> IO SX
+casadi__SX__zz_vec x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_vec errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_vec :: SXClass a => a -> IO SX
+sx_zz_vec x = casadi__SX__zz_vec (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_vecNZ" c_casadi__SX__zz_vecNZ
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+casadi__SX__zz_vecNZ
+  :: SX -> IO SX
+casadi__SX__zz_vecNZ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_vecNZ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_vecNZ :: SXClass a => a -> IO SX
+sx_zz_vecNZ x = casadi__SX__zz_vecNZ (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_vecNZcat" c_casadi__SX__zz_vecNZcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+casadi__SX__zz_vecNZcat
+  :: Vector SX -> IO SX
+casadi__SX__zz_vecNZcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_vecNZcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_vecNZcat :: Vector SX -> IO SX
+sx_zz_vecNZcat = casadi__SX__zz_vecNZcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_veccat" c_casadi__SX__zz_veccat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+casadi__SX__zz_veccat
+  :: Vector SX -> IO SX
+casadi__SX__zz_veccat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_veccat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_veccat :: Vector SX -> IO SX
+sx_zz_veccat = casadi__SX__zz_veccat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_vertcat" c_casadi__SX__zz_vertcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
+casadi__SX__zz_vertcat
+  :: Vector SX -> IO SX
+casadi__SX__zz_vertcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_vertcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_vertcat :: Vector SX -> IO SX
+sx_zz_vertcat = casadi__SX__zz_vertcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__zz_vertsplit" c_casadi__SX__zz_vertsplit
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
+casadi__SX__zz_vertsplit
+  :: SX -> Vector Int -> IO (Vector SX)
+casadi__SX__zz_vertsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__zz_vertsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_zz_vertsplit :: SXClass a => a -> Vector Int -> IO (Vector SX)
+sx_zz_vertsplit x = casadi__SX__zz_vertsplit (castSX x)
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/SXElement.hs b/Casadi/Core/Classes/SXElement.hs
--- a/Casadi/Core/Classes/SXElement.hs
+++ b/Casadi/Core/Classes/SXElement.hs
@@ -9,2432 +9,23 @@
        (
          SXElement,
          SXElementClass(..),
-         sxElement__0,
-         sxElement__1,
-         sxElement___add__,
-         sxElement___constpow__,
-         sxElement___copysign____0,
-         sxElement___copysign____1,
-         sxElement___div__,
-         sxElement___eq__,
-         sxElement___ge__,
-         sxElement___gt__,
-         sxElement___hash__,
-         sxElement___le__,
-         sxElement___lt__,
-         sxElement___mldivide__,
-         sxElement___mpower__,
-         sxElement___mrdivide__,
-         sxElement___mul__,
-         sxElement___ne__,
-         sxElement___nonzero__,
-         sxElement___pow__,
-         sxElement___radd__,
-         sxElement___rdiv__,
-         sxElement___req__,
-         sxElement___rge__,
-         sxElement___rgt__,
-         sxElement___rle__,
-         sxElement___rlt__,
-         sxElement___rmul__,
-         sxElement___rne__,
-         sxElement___rsub__,
-         sxElement___rtruediv__,
-         sxElement___sub__,
-         sxElement___truediv____0,
-         sxElement___truediv____1,
-         sxElement_arccos,
-         sxElement_arccosh,
-         sxElement_arcsin,
-         sxElement_arcsinh,
-         sxElement_arctan,
-         sxElement_arctan2__0,
-         sxElement_arctan2__1,
-         sxElement_arctanh,
-         sxElement_assignIfDuplicate__0,
-         sxElement_assignIfDuplicate__1,
-         sxElement_binary,
-         sxElement_ceil,
-         sxElement_constpow__0,
-         sxElement_constpow__1,
-         sxElement_cos,
-         sxElement_cosh,
-         sxElement_erf,
-         sxElement_erfinv,
-         sxElement_exp,
-         sxElement_fabs,
-         sxElement_floor,
-         sxElement_fmax__0,
-         sxElement_fmax__1,
-         sxElement_fmin__0,
-         sxElement_fmin__1,
-         sxElement_fmod,
-         sxElement_getDep__0,
-         sxElement_getDep__1,
-         sxElement_getDescription,
-         sxElement_getIntValue,
-         sxElement_getName,
-         sxElement_getNdeps,
-         sxElement_getOp,
-         sxElement_getRepresentation,
-         sxElement_getTemp,
-         sxElement_getValue,
-         sxElement_hasDep,
-         sxElement_if_else_zero,
-         sxElement_inv,
-         sxElement_isAlmostZero,
-         sxElement_isCommutative,
-         sxElement_isConstant,
-         sxElement_isDoubled,
-         sxElement_isEqual__0,
-         sxElement_isEqual__1,
-         sxElement_isInf,
-         sxElement_isInteger,
-         sxElement_isLeaf,
-         sxElement_isMinusInf,
-         sxElement_isMinusOne,
-         sxElement_isNan,
-         sxElement_isNonNegative,
-         sxElement_isNull,
-         sxElement_isOne,
-         sxElement_isOp,
-         sxElement_isRegular,
-         sxElement_isSymbolic,
-         sxElement_isZero,
-         sxElement_log,
-         sxElement_log10,
-         sxElement_logic_and,
-         sxElement_logic_not,
-         sxElement_logic_or,
-         sxElement_mark,
-         sxElement_marked,
-         sxElement_mul,
-         sxElement_printme,
-         sxElement_setTemp,
-         sxElement_sign,
-         sxElement_sin,
-         sxElement_sinh,
-         sxElement_sq,
-         sxElement_sqrt,
-         sxElement_sym,
-         sxElement_tan,
-         sxElement_tanh,
-         sxElement_trans,
-         sxElement_unary,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.CToolsInstances ( )
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__CONSTRUCTOR__0" c_casadi__SXElement__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> CDouble -> IO (Ptr SXElement')
-casadi__SXElement__CONSTRUCTOR__0
-  :: Double -> IO SXElement
-casadi__SXElement__CONSTRUCTOR__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__CONSTRUCTOR__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement__0 :: Double -> IO SXElement
-sxElement__0 = casadi__SXElement__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__CONSTRUCTOR__1" c_casadi__SXElement__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> IO (Ptr SXElement')
-casadi__SXElement__CONSTRUCTOR__1
-  :: IO SXElement
-casadi__SXElement__CONSTRUCTOR__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__CONSTRUCTOR__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement__1 :: IO SXElement
-sxElement__1 = casadi__SXElement__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____add__" c_casadi__SXElement____add__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____add__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____add__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___add__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___add__ x = casadi__SXElement____add__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____constpow__" c_casadi__SXElement____constpow__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____constpow__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____constpow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___constpow__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___constpow__ x = casadi__SXElement____constpow__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____copysign____0" c_casadi__SXElement____copysign____0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casadi__SXElement____copysign____0
-  :: SXElement -> SX -> IO SX
-casadi__SXElement____copysign____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____copysign____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___copysign____0 :: SXElementClass a => a -> SX -> IO SX
-sxElement___copysign____0 x = casadi__SXElement____copysign____0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____copysign____1" c_casadi__SXElement____copysign____1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____copysign____1
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____copysign____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____copysign____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___copysign____1 :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___copysign____1 x = casadi__SXElement____copysign____1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____div__" c_casadi__SXElement____div__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____div__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____div__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___div__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___div__ x = casadi__SXElement____div__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____eq__" c_casadi__SXElement____eq__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____eq__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____eq__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___eq__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___eq__ x = casadi__SXElement____eq__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____ge__" c_casadi__SXElement____ge__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____ge__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____ge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____ge__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___ge__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___ge__ x = casadi__SXElement____ge__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____gt__" c_casadi__SXElement____gt__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____gt__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____gt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____gt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___gt__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___gt__ x = casadi__SXElement____gt__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____hash__" c_casadi__SXElement____hash__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CLong
-casadi__SXElement____hash__
-  :: SXElement -> IO Int
-casadi__SXElement____hash__ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____hash__ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___hash__ :: SXElementClass a => a -> IO Int
-sxElement___hash__ x = casadi__SXElement____hash__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____le__" c_casadi__SXElement____le__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____le__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____le__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___le__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___le__ x = casadi__SXElement____le__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____lt__" c_casadi__SXElement____lt__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____lt__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____lt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___lt__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___lt__ x = casadi__SXElement____lt__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____mldivide__" c_casadi__SXElement____mldivide__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____mldivide__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____mldivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___mldivide__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___mldivide__ x = casadi__SXElement____mldivide__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____mpower__" c_casadi__SXElement____mpower__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____mpower__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____mpower__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___mpower__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___mpower__ x = casadi__SXElement____mpower__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____mrdivide__" c_casadi__SXElement____mrdivide__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____mrdivide__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____mrdivide__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___mrdivide__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___mrdivide__ x = casadi__SXElement____mrdivide__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____mul__" c_casadi__SXElement____mul__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____mul__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____mul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___mul__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___mul__ x = casadi__SXElement____mul__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____ne__" c_casadi__SXElement____ne__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____ne__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____ne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___ne__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___ne__ x = casadi__SXElement____ne__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____nonzero__" c_casadi__SXElement____nonzero__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement____nonzero__
-  :: SXElement -> IO Bool
-casadi__SXElement____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____nonzero__ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___nonzero__ :: SXElementClass a => a -> IO Bool
-sxElement___nonzero__ x = casadi__SXElement____nonzero__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____pow__" c_casadi__SXElement____pow__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____pow__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____pow__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___pow__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___pow__ x = casadi__SXElement____pow__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____radd__" c_casadi__SXElement____radd__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____radd__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____radd__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___radd__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___radd__ x = casadi__SXElement____radd__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rdiv__" c_casadi__SXElement____rdiv__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rdiv__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rdiv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rdiv__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rdiv__ x = casadi__SXElement____rdiv__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____req__" c_casadi__SXElement____req__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____req__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____req__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___req__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___req__ x = casadi__SXElement____req__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rge__" c_casadi__SXElement____rge__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rge__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rge__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rge__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rge__ x = casadi__SXElement____rge__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rgt__" c_casadi__SXElement____rgt__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rgt__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rgt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rgt__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rgt__ x = casadi__SXElement____rgt__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rle__" c_casadi__SXElement____rle__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rle__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rle__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rle__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rle__ x = casadi__SXElement____rle__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rlt__" c_casadi__SXElement____rlt__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rlt__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rlt__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rlt__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rlt__ x = casadi__SXElement____rlt__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rmul__" c_casadi__SXElement____rmul__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rmul__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rmul__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rmul__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rmul__ x = casadi__SXElement____rmul__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rne__" c_casadi__SXElement____rne__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rne__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rne__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rne__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rne__ x = casadi__SXElement____rne__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rsub__" c_casadi__SXElement____rsub__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rsub__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rsub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rsub__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rsub__ x = casadi__SXElement____rsub__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____rtruediv__" c_casadi__SXElement____rtruediv__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____rtruediv__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____rtruediv__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___rtruediv__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___rtruediv__ x = casadi__SXElement____rtruediv__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____sub__" c_casadi__SXElement____sub__
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____sub__
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____sub__ errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___sub__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___sub__ x = casadi__SXElement____sub__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____truediv____0" c_casadi__SXElement____truediv____0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____truediv____0
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____truediv____0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____truediv____0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___truediv____0 :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___truediv____0 x = casadi__SXElement____truediv____0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement____truediv____1" c_casadi__SXElement____truediv____1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement____truediv____1
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement____truediv____1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement____truediv____1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement___truediv____1 :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___truediv____1 x = casadi__SXElement____truediv____1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__arccos" c_casadi__SXElement__arccos
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__arccos
-  :: SXElement -> IO SXElement
-casadi__SXElement__arccos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__arccos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_arccos :: SXElementClass a => a -> IO SXElement
-sxElement_arccos x = casadi__SXElement__arccos (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__arccosh" c_casadi__SXElement__arccosh
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__arccosh
-  :: SXElement -> IO SXElement
-casadi__SXElement__arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__arccosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_arccosh :: SXElementClass a => a -> IO SXElement
-sxElement_arccosh x = casadi__SXElement__arccosh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__arcsin" c_casadi__SXElement__arcsin
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__arcsin
-  :: SXElement -> IO SXElement
-casadi__SXElement__arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__arcsin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_arcsin :: SXElementClass a => a -> IO SXElement
-sxElement_arcsin x = casadi__SXElement__arcsin (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__arcsinh" c_casadi__SXElement__arcsinh
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__arcsinh
-  :: SXElement -> IO SXElement
-casadi__SXElement__arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__arcsinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_arcsinh :: SXElementClass a => a -> IO SXElement
-sxElement_arcsinh x = casadi__SXElement__arcsinh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__arctan" c_casadi__SXElement__arctan
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__arctan
-  :: SXElement -> IO SXElement
-casadi__SXElement__arctan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__arctan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_arctan :: SXElementClass a => a -> IO SXElement
-sxElement_arctan x = casadi__SXElement__arctan (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__arctan2__0" c_casadi__SXElement__arctan2__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casadi__SXElement__arctan2__0
-  :: SXElement -> SX -> IO SX
-casadi__SXElement__arctan2__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__arctan2__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_arctan2__0 :: SXElementClass a => a -> SX -> IO SX
-sxElement_arctan2__0 x = casadi__SXElement__arctan2__0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__arctan2__1" c_casadi__SXElement__arctan2__1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__arctan2__1
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__arctan2__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__arctan2__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_arctan2__1 :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_arctan2__1 x = casadi__SXElement__arctan2__1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__arctanh" c_casadi__SXElement__arctanh
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__arctanh
-  :: SXElement -> IO SXElement
-casadi__SXElement__arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__arctanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_arctanh :: SXElementClass a => a -> IO SXElement
-sxElement_arctanh x = casadi__SXElement__arctanh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__assignIfDuplicate__0" c_casadi__SXElement__assignIfDuplicate__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO ()
-casadi__SXElement__assignIfDuplicate__0
-  :: SXElement -> SXElement -> IO ()
-casadi__SXElement__assignIfDuplicate__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__assignIfDuplicate__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_assignIfDuplicate__0 :: SXElementClass a => a -> SXElement -> IO ()
-sxElement_assignIfDuplicate__0 x = casadi__SXElement__assignIfDuplicate__0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__assignIfDuplicate__1" c_casadi__SXElement__assignIfDuplicate__1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> CInt -> IO ()
-casadi__SXElement__assignIfDuplicate__1
-  :: SXElement -> SXElement -> Int -> IO ()
-casadi__SXElement__assignIfDuplicate__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__assignIfDuplicate__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_assignIfDuplicate__1 :: SXElementClass a => a -> SXElement -> Int -> IO ()
-sxElement_assignIfDuplicate__1 x = casadi__SXElement__assignIfDuplicate__1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__binary" c_casadi__SXElement__binary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__binary
-  :: Int -> SXElement -> SXElement -> IO SXElement
-casadi__SXElement__binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__binary errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_binary :: Int -> SXElement -> SXElement -> IO SXElement
-sxElement_binary = casadi__SXElement__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__ceil" c_casadi__SXElement__ceil
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__ceil
-  :: SXElement -> IO SXElement
-casadi__SXElement__ceil x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__ceil errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_ceil :: SXElementClass a => a -> IO SXElement
-sxElement_ceil x = casadi__SXElement__ceil (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__constpow__0" c_casadi__SXElement__constpow__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casadi__SXElement__constpow__0
-  :: SXElement -> SX -> IO SX
-casadi__SXElement__constpow__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__constpow__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_constpow__0 :: SXElementClass a => a -> SX -> IO SX
-sxElement_constpow__0 x = casadi__SXElement__constpow__0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__constpow__1" c_casadi__SXElement__constpow__1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__constpow__1
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__constpow__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__constpow__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_constpow__1 :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_constpow__1 x = casadi__SXElement__constpow__1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__cos" c_casadi__SXElement__cos
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__cos
-  :: SXElement -> IO SXElement
-casadi__SXElement__cos x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__cos errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_cos :: SXElementClass a => a -> IO SXElement
-sxElement_cos x = casadi__SXElement__cos (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__cosh" c_casadi__SXElement__cosh
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__cosh
-  :: SXElement -> IO SXElement
-casadi__SXElement__cosh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__cosh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_cosh :: SXElementClass a => a -> IO SXElement
-sxElement_cosh x = casadi__SXElement__cosh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__erf" c_casadi__SXElement__erf
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__erf
-  :: SXElement -> IO SXElement
-casadi__SXElement__erf x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__erf errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_erf :: SXElementClass a => a -> IO SXElement
-sxElement_erf x = casadi__SXElement__erf (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__erfinv" c_casadi__SXElement__erfinv
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__erfinv
-  :: SXElement -> IO SXElement
-casadi__SXElement__erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__erfinv errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_erfinv :: SXElementClass a => a -> IO SXElement
-sxElement_erfinv x = casadi__SXElement__erfinv (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__exp" c_casadi__SXElement__exp
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__exp
-  :: SXElement -> IO SXElement
-casadi__SXElement__exp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__exp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_exp :: SXElementClass a => a -> IO SXElement
-sxElement_exp x = casadi__SXElement__exp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__fabs" c_casadi__SXElement__fabs
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__fabs
-  :: SXElement -> IO SXElement
-casadi__SXElement__fabs x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__fabs errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_fabs :: SXElementClass a => a -> IO SXElement
-sxElement_fabs x = casadi__SXElement__fabs (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__floor" c_casadi__SXElement__floor
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__floor
-  :: SXElement -> IO SXElement
-casadi__SXElement__floor x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__floor errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_floor :: SXElementClass a => a -> IO SXElement
-sxElement_floor x = casadi__SXElement__floor (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__fmax__0" c_casadi__SXElement__fmax__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casadi__SXElement__fmax__0
-  :: SXElement -> SX -> IO SX
-casadi__SXElement__fmax__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__fmax__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_fmax__0 :: SXElementClass a => a -> SX -> IO SX
-sxElement_fmax__0 x = casadi__SXElement__fmax__0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__fmax__1" c_casadi__SXElement__fmax__1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__fmax__1
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__fmax__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__fmax__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_fmax__1 :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_fmax__1 x = casadi__SXElement__fmax__1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__fmin__0" c_casadi__SXElement__fmin__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casadi__SXElement__fmin__0
-  :: SXElement -> SX -> IO SX
-casadi__SXElement__fmin__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__fmin__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_fmin__0 :: SXElementClass a => a -> SX -> IO SX
-sxElement_fmin__0 x = casadi__SXElement__fmin__0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__fmin__1" c_casadi__SXElement__fmin__1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__fmin__1
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__fmin__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__fmin__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_fmin__1 :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_fmin__1 x = casadi__SXElement__fmin__1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__fmod" c_casadi__SXElement__fmod
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__fmod
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__fmod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__fmod errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_fmod :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_fmod x = casadi__SXElement__fmod (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getDep__0" c_casadi__SXElement__getDep__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__getDep__0
-  :: SXElement -> IO SXElement
-casadi__SXElement__getDep__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getDep__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getDep__0 :: SXElementClass a => a -> IO SXElement
-sxElement_getDep__0 x = casadi__SXElement__getDep__0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getDep__1" c_casadi__SXElement__getDep__1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> CInt -> IO (Ptr SXElement')
-casadi__SXElement__getDep__1
-  :: SXElement -> Int -> IO SXElement
-casadi__SXElement__getDep__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getDep__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getDep__1 :: SXElementClass a => a -> Int -> IO SXElement
-sxElement_getDep__1 x = casadi__SXElement__getDep__1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getIntValue" c_casadi__SXElement__getIntValue
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__getIntValue
-  :: SXElement -> IO Int
-casadi__SXElement__getIntValue x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getIntValue errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getIntValue :: SXElementClass a => a -> IO Int
-sxElement_getIntValue x = casadi__SXElement__getIntValue (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getName" c_casadi__SXElement__getName
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr StdString)
-casadi__SXElement__getName
-  :: SXElement -> IO String
-casadi__SXElement__getName x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getName errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getName :: SXElementClass a => a -> IO String
-sxElement_getName x = casadi__SXElement__getName (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getNdeps" c_casadi__SXElement__getNdeps
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__getNdeps
-  :: SXElement -> IO Int
-casadi__SXElement__getNdeps x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getNdeps errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getNdeps :: SXElementClass a => a -> IO Int
-sxElement_getNdeps x = casadi__SXElement__getNdeps (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getOp" c_casadi__SXElement__getOp
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__getOp
-  :: SXElement -> IO Int
-casadi__SXElement__getOp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getOp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getOp :: SXElementClass a => a -> IO Int
-sxElement_getOp x = casadi__SXElement__getOp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getTemp" c_casadi__SXElement__getTemp
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__getTemp
-  :: SXElement -> IO Int
-casadi__SXElement__getTemp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getTemp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getTemp :: SXElementClass a => a -> IO Int
-sxElement_getTemp x = casadi__SXElement__getTemp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getValue" c_casadi__SXElement__getValue
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CDouble
-casadi__SXElement__getValue
-  :: SXElement -> IO Double
-casadi__SXElement__getValue x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getValue errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getValue :: SXElementClass a => a -> IO Double
-sxElement_getValue x = casadi__SXElement__getValue (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__hasDep" c_casadi__SXElement__hasDep
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__hasDep
-  :: SXElement -> IO Bool
-casadi__SXElement__hasDep x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__hasDep errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_hasDep :: SXElementClass a => a -> IO Bool
-sxElement_hasDep x = casadi__SXElement__hasDep (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__if_else_zero" c_casadi__SXElement__if_else_zero
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__if_else_zero
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__if_else_zero errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_if_else_zero :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_if_else_zero x = casadi__SXElement__if_else_zero (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__inv" c_casadi__SXElement__inv
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__inv
-  :: SXElement -> IO SXElement
-casadi__SXElement__inv x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__inv errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_inv :: SXElementClass a => a -> IO SXElement
-sxElement_inv x = casadi__SXElement__inv (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isAlmostZero" c_casadi__SXElement__isAlmostZero
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> CDouble -> IO CInt
-casadi__SXElement__isAlmostZero
-  :: SXElement -> Double -> IO Bool
-casadi__SXElement__isAlmostZero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isAlmostZero errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isAlmostZero :: SXElementClass a => a -> Double -> IO Bool
-sxElement_isAlmostZero x = casadi__SXElement__isAlmostZero (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isCommutative" c_casadi__SXElement__isCommutative
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isCommutative
-  :: SXElement -> IO Bool
-casadi__SXElement__isCommutative x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isCommutative errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isCommutative :: SXElementClass a => a -> IO Bool
-sxElement_isCommutative x = casadi__SXElement__isCommutative (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isConstant" c_casadi__SXElement__isConstant
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isConstant
-  :: SXElement -> IO Bool
-casadi__SXElement__isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isConstant errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isConstant :: SXElementClass a => a -> IO Bool
-sxElement_isConstant x = casadi__SXElement__isConstant (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isDoubled" c_casadi__SXElement__isDoubled
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isDoubled
-  :: SXElement -> IO Bool
-casadi__SXElement__isDoubled x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isDoubled errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isDoubled :: SXElementClass a => a -> IO Bool
-sxElement_isDoubled x = casadi__SXElement__isDoubled (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isEqual__0" c_casadi__SXElement__isEqual__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isEqual__0
-  :: SXElement -> SXElement -> IO Bool
-casadi__SXElement__isEqual__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isEqual__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isEqual__0 :: SXElementClass a => a -> SXElement -> IO Bool
-sxElement_isEqual__0 x = casadi__SXElement__isEqual__0 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isEqual__1" c_casadi__SXElement__isEqual__1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> CInt -> IO CInt
-casadi__SXElement__isEqual__1
-  :: SXElement -> SXElement -> Int -> IO Bool
-casadi__SXElement__isEqual__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isEqual__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isEqual__1 :: SXElementClass a => a -> SXElement -> Int -> IO Bool
-sxElement_isEqual__1 x = casadi__SXElement__isEqual__1 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isInf" c_casadi__SXElement__isInf
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isInf
-  :: SXElement -> IO Bool
-casadi__SXElement__isInf x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isInf errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isInf :: SXElementClass a => a -> IO Bool
-sxElement_isInf x = casadi__SXElement__isInf (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isInteger" c_casadi__SXElement__isInteger
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isInteger
-  :: SXElement -> IO Bool
-casadi__SXElement__isInteger x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isInteger errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isInteger :: SXElementClass a => a -> IO Bool
-sxElement_isInteger x = casadi__SXElement__isInteger (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isLeaf" c_casadi__SXElement__isLeaf
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isLeaf
-  :: SXElement -> IO Bool
-casadi__SXElement__isLeaf x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isLeaf errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isLeaf :: SXElementClass a => a -> IO Bool
-sxElement_isLeaf x = casadi__SXElement__isLeaf (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isMinusInf" c_casadi__SXElement__isMinusInf
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isMinusInf
-  :: SXElement -> IO Bool
-casadi__SXElement__isMinusInf x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isMinusInf errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isMinusInf :: SXElementClass a => a -> IO Bool
-sxElement_isMinusInf x = casadi__SXElement__isMinusInf (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isMinusOne" c_casadi__SXElement__isMinusOne
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isMinusOne
-  :: SXElement -> IO Bool
-casadi__SXElement__isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isMinusOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isMinusOne :: SXElementClass a => a -> IO Bool
-sxElement_isMinusOne x = casadi__SXElement__isMinusOne (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isNan" c_casadi__SXElement__isNan
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isNan
-  :: SXElement -> IO Bool
-casadi__SXElement__isNan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isNan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isNan :: SXElementClass a => a -> IO Bool
-sxElement_isNan x = casadi__SXElement__isNan (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isNonNegative" c_casadi__SXElement__isNonNegative
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isNonNegative
-  :: SXElement -> IO Bool
-casadi__SXElement__isNonNegative x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isNonNegative errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isNonNegative :: SXElementClass a => a -> IO Bool
-sxElement_isNonNegative x = casadi__SXElement__isNonNegative (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isNull" c_casadi__SXElement__isNull
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isNull
-  :: SXElement -> IO Bool
-casadi__SXElement__isNull x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isNull errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isNull :: SXElementClass a => a -> IO Bool
-sxElement_isNull x = casadi__SXElement__isNull (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isOne" c_casadi__SXElement__isOne
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isOne
-  :: SXElement -> IO Bool
-casadi__SXElement__isOne x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isOne errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isOne :: SXElementClass a => a -> IO Bool
-sxElement_isOne x = casadi__SXElement__isOne (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isOp" c_casadi__SXElement__isOp
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> CInt -> IO CInt
-casadi__SXElement__isOp
-  :: SXElement -> Int -> IO Bool
-casadi__SXElement__isOp x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isOp errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isOp :: SXElementClass a => a -> Int -> IO Bool
-sxElement_isOp x = casadi__SXElement__isOp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isRegular" c_casadi__SXElement__isRegular
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isRegular
-  :: SXElement -> IO Bool
-casadi__SXElement__isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isRegular errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isRegular :: SXElementClass a => a -> IO Bool
-sxElement_isRegular x = casadi__SXElement__isRegular (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isSymbolic" c_casadi__SXElement__isSymbolic
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isSymbolic
-  :: SXElement -> IO Bool
-casadi__SXElement__isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isSymbolic errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isSymbolic :: SXElementClass a => a -> IO Bool
-sxElement_isSymbolic x = casadi__SXElement__isSymbolic (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__isZero" c_casadi__SXElement__isZero
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__isZero
-  :: SXElement -> IO Bool
-casadi__SXElement__isZero x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__isZero errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_isZero :: SXElementClass a => a -> IO Bool
-sxElement_isZero x = casadi__SXElement__isZero (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__log" c_casadi__SXElement__log
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__log
-  :: SXElement -> IO SXElement
-casadi__SXElement__log x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__log errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_log :: SXElementClass a => a -> IO SXElement
-sxElement_log x = casadi__SXElement__log (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__log10" c_casadi__SXElement__log10
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__log10
-  :: SXElement -> IO SXElement
-casadi__SXElement__log10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__log10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_log10 :: SXElementClass a => a -> IO SXElement
-sxElement_log10 x = casadi__SXElement__log10 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__logic_and" c_casadi__SXElement__logic_and
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__logic_and
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__logic_and errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_logic_and :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_logic_and x = casadi__SXElement__logic_and (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__logic_not" c_casadi__SXElement__logic_not
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__logic_not
-  :: SXElement -> IO SXElement
-casadi__SXElement__logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__logic_not errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_logic_not :: SXElementClass a => a -> IO SXElement
-sxElement_logic_not x = casadi__SXElement__logic_not (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__logic_or" c_casadi__SXElement__logic_or
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__logic_or
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__logic_or errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_logic_or :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_logic_or x = casadi__SXElement__logic_or (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__mark" c_casadi__SXElement__mark
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO ()
-casadi__SXElement__mark
-  :: SXElement -> IO ()
-casadi__SXElement__mark x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__mark errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_mark :: SXElementClass a => a -> IO ()
-sxElement_mark x = casadi__SXElement__mark (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__marked" c_casadi__SXElement__marked
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO CInt
-casadi__SXElement__marked
-  :: SXElement -> IO Bool
-casadi__SXElement__marked x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__marked errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_marked :: SXElementClass a => a -> IO Bool
-sxElement_marked x = casadi__SXElement__marked (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__mul" c_casadi__SXElement__mul
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__mul
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__mul x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__mul errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_mul :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_mul x = casadi__SXElement__mul (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__printme" c_casadi__SXElement__printme
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__printme
-  :: SXElement -> SXElement -> IO SXElement
-casadi__SXElement__printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__printme errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_printme :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_printme x = casadi__SXElement__printme (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__setTemp" c_casadi__SXElement__setTemp
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> CInt -> IO ()
-casadi__SXElement__setTemp
-  :: SXElement -> Int -> IO ()
-casadi__SXElement__setTemp x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__setTemp errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_setTemp :: SXElementClass a => a -> Int -> IO ()
-sxElement_setTemp x = casadi__SXElement__setTemp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__sign" c_casadi__SXElement__sign
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__sign
-  :: SXElement -> IO SXElement
-casadi__SXElement__sign x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__sign errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_sign :: SXElementClass a => a -> IO SXElement
-sxElement_sign x = casadi__SXElement__sign (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__sin" c_casadi__SXElement__sin
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__sin
-  :: SXElement -> IO SXElement
-casadi__SXElement__sin x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__sin errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_sin :: SXElementClass a => a -> IO SXElement
-sxElement_sin x = casadi__SXElement__sin (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__sinh" c_casadi__SXElement__sinh
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__sinh
-  :: SXElement -> IO SXElement
-casadi__SXElement__sinh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__sinh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_sinh :: SXElementClass a => a -> IO SXElement
-sxElement_sinh x = casadi__SXElement__sinh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__sq" c_casadi__SXElement__sq
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__sq
-  :: SXElement -> IO SXElement
-casadi__SXElement__sq x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__sq errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_sq :: SXElementClass a => a -> IO SXElement
-sxElement_sq x = casadi__SXElement__sq (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__sqrt" c_casadi__SXElement__sqrt
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__sqrt
-  :: SXElement -> IO SXElement
-casadi__SXElement__sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__sqrt errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_sqrt :: SXElementClass a => a -> IO SXElement
-sxElement_sqrt x = casadi__SXElement__sqrt (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__sym" c_casadi__SXElement__sym
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr SXElement')
-casadi__SXElement__sym
-  :: String -> IO SXElement
-casadi__SXElement__sym x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__sym errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_sym :: String -> IO SXElement
-sxElement_sym = casadi__SXElement__sym
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__tan" c_casadi__SXElement__tan
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__tan
-  :: SXElement -> IO SXElement
-casadi__SXElement__tan x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__tan errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_tan :: SXElementClass a => a -> IO SXElement
-sxElement_tan x = casadi__SXElement__tan (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__tanh" c_casadi__SXElement__tanh
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__tanh
-  :: SXElement -> IO SXElement
-casadi__SXElement__tanh x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__tanh errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_tanh :: SXElementClass a => a -> IO SXElement
-sxElement_tanh x = casadi__SXElement__tanh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__trans" c_casadi__SXElement__trans
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__trans
-  :: SXElement -> IO SXElement
-casadi__SXElement__trans x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__trans errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_trans :: SXElementClass a => a -> IO SXElement
-sxElement_trans x = casadi__SXElement__trans (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__unary" c_casadi__SXElement__unary
-  :: Ptr (Ptr StdString) -> CInt -> Ptr SXElement' -> IO (Ptr SXElement')
-casadi__SXElement__unary
-  :: Int -> SXElement -> IO SXElement
-casadi__SXElement__unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__unary errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_unary :: Int -> SXElement -> IO SXElement
-sxElement_unary = casadi__SXElement__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getRepresentation" c_casadi__SXElement__getRepresentation
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr StdString)
-casadi__SXElement__getRepresentation
-  :: SXElement -> IO String
-casadi__SXElement__getRepresentation x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getRepresentation errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getRepresentation :: SXElementClass a => a -> IO String
-sxElement_getRepresentation x = casadi__SXElement__getRepresentation (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__SXElement__getDescription" c_casadi__SXElement__getDescription
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr StdString)
-casadi__SXElement__getDescription
-  :: SXElement -> IO String
-casadi__SXElement__getDescription x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__SXElement__getDescription errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sxElement_getDescription :: SXElementClass a => a -> IO String
-sxElement_getDescription x = casadi__SXElement__getDescription (castSXElement x)
-
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.CToolsInstances ( )
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
diff --git a/Casadi/Core/Classes/SXFunction.hs b/Casadi/Core/Classes/SXFunction.hs
--- a/Casadi/Core/Classes/SXFunction.hs
+++ b/Casadi/Core/Classes/SXFunction.hs
@@ -83,7 +83,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__SXFunction__CONSTRUCTOR__0" c_casadi__SXFunction__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SXFunction')
@@ -290,9 +289,9 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__SXFunction__getFree" c_casadi__SXFunction__getFree
-  :: Ptr (Ptr StdString) -> Ptr SXFunction' -> IO (Ptr (StdVec (Ptr SXElement')))
+  :: Ptr (Ptr StdString) -> Ptr SXFunction' -> IO (Ptr SX')
 casadi__SXFunction__getFree
-  :: SXFunction -> IO (Vector SXElement)
+  :: SXFunction -> IO SX
 casadi__SXFunction__getFree x0 =
   withMarshal x0 $ \x0' ->
   do
@@ -304,7 +303,7 @@
 
 
 -- classy wrapper
-sxFunction_getFree :: SXFunctionClass a => a -> IO (Vector SXElement)
+sxFunction_getFree :: SXFunctionClass a => a -> IO SX
 sxFunction_getFree x = casadi__SXFunction__getFree (castSXFunction x)
 
 
diff --git a/Casadi/Core/Classes/SdpSolver.hs b/Casadi/Core/Classes/SdpSolver.hs
--- a/Casadi/Core/Classes/SdpSolver.hs
+++ b/Casadi/Core/Classes/SdpSolver.hs
@@ -34,7 +34,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__SdpSolver__CONSTRUCTOR" c_casadi__SdpSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr SdpSolver')
diff --git a/Casadi/Core/Classes/SdqpSolver.hs b/Casadi/Core/Classes/SdqpSolver.hs
--- a/Casadi/Core/Classes/SdqpSolver.hs
+++ b/Casadi/Core/Classes/SdqpSolver.hs
@@ -34,7 +34,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__SdqpSolver__CONSTRUCTOR" c_casadi__SdqpSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr SdqpSolver')
diff --git a/Casadi/Core/Classes/SharedObject.hs b/Casadi/Core/Classes/SharedObject.hs
--- a/Casadi/Core/Classes/SharedObject.hs
+++ b/Casadi/Core/Classes/SharedObject.hs
@@ -39,7 +39,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__SharedObject__assertInit" c_casadi__SharedObject__assertInit
   :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO ()
diff --git a/Casadi/Core/Classes/Simulator.hs b/Casadi/Core/Classes/Simulator.hs
--- a/Casadi/Core/Classes/Simulator.hs
+++ b/Casadi/Core/Classes/Simulator.hs
@@ -34,7 +34,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__Simulator__CONSTRUCTOR__0" c_casadi__Simulator__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr Integrator' -> Ptr DMatrix' -> IO (Ptr Simulator')
diff --git a/Casadi/Core/Classes/Slice.hs b/Casadi/Core/Classes/Slice.hs
--- a/Casadi/Core/Classes/Slice.hs
+++ b/Casadi/Core/Classes/Slice.hs
@@ -15,12 +15,17 @@
          slice__3,
          slice__4,
          slice__5,
+         slice__6,
          slice_getAll__0,
          slice_getAll__1,
+         slice_getAll__2,
          slice_getDescription,
          slice_getRepresentation,
-         slice_isSlice,
+         slice_isScalar,
          slice_isSlice2,
+         slice_isSlice__0,
+         slice_isSlice__1,
+         slice_toScalar,
        ) where
 
 
@@ -41,7 +46,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__0" c_casadi__Slice__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr Slice' -> IO (Ptr Slice')
@@ -85,9 +89,9 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__2" c_casadi__Slice__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Slice')
 casadi__Slice__CONSTRUCTOR__2
-  :: Int -> Int -> IO Slice
+  :: Vector Int -> Bool -> IO Slice
 casadi__Slice__CONSTRUCTOR__2 x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
@@ -100,70 +104,91 @@
 
 
 -- classy wrapper
-slice__2 :: Int -> Int -> IO Slice
+slice__2 :: Vector Int -> Bool -> IO Slice
 slice__2 = casadi__Slice__CONSTRUCTOR__2
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__3" c_casadi__Slice__CONSTRUCTOR__3
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> CInt -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Slice')
 casadi__Slice__CONSTRUCTOR__3
-  :: Int -> Int -> Int -> IO Slice
-casadi__Slice__CONSTRUCTOR__3 x0 x1 x2 =
+  :: Int -> Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__3 x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__Slice__CONSTRUCTOR__3 errStrPtrP x0' x1' x2'
+    ret <- c_casadi__Slice__CONSTRUCTOR__3 errStrPtrP x0' x1'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-slice__3 :: Int -> Int -> Int -> IO Slice
+slice__3 :: Int -> Int -> IO Slice
 slice__3 = casadi__Slice__CONSTRUCTOR__3
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__4" c_casadi__Slice__CONSTRUCTOR__4
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> CInt -> IO (Ptr Slice')
 casadi__Slice__CONSTRUCTOR__4
-  :: Int -> IO Slice
-casadi__Slice__CONSTRUCTOR__4 x0 =
+  :: Int -> Int -> Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__4 x0 x1 x2 =
   withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__Slice__CONSTRUCTOR__4 errStrPtrP x0'
+    ret <- c_casadi__Slice__CONSTRUCTOR__4 errStrPtrP x0' x1' x2'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-slice__4 :: Int -> IO Slice
+slice__4 :: Int -> Int -> Int -> IO Slice
 slice__4 = casadi__Slice__CONSTRUCTOR__4
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__5" c_casadi__Slice__CONSTRUCTOR__5
-  :: Ptr (Ptr StdString) -> IO (Ptr Slice')
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Slice')
 casadi__Slice__CONSTRUCTOR__5
+  :: Int -> IO Slice
+casadi__Slice__CONSTRUCTOR__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Slice__CONSTRUCTOR__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+slice__5 :: Int -> IO Slice
+slice__5 = casadi__Slice__CONSTRUCTOR__5
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__CONSTRUCTOR__6" c_casadi__Slice__CONSTRUCTOR__6
+  :: Ptr (Ptr StdString) -> IO (Ptr Slice')
+casadi__Slice__CONSTRUCTOR__6
   :: IO Slice
-casadi__Slice__CONSTRUCTOR__5  =
+casadi__Slice__CONSTRUCTOR__6  =
 
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__Slice__CONSTRUCTOR__5 errStrPtrP 
+    ret <- c_casadi__Slice__CONSTRUCTOR__6 errStrPtrP 
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-slice__5 :: IO Slice
-slice__5 = casadi__Slice__CONSTRUCTOR__5
+slice__6 :: IO Slice
+slice__6 = casadi__Slice__CONSTRUCTOR__6
 
 
 -- direct wrapper
@@ -210,26 +235,90 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Slice__isSlice" c_casadi__Slice__isSlice
+foreign import ccall unsafe "casadi__Slice__getAll__2" c_casadi__Slice__getAll__2
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> CInt -> CInt -> IO (Ptr (StdVec CInt))
+casadi__Slice__getAll__2
+  :: Slice -> Int -> Bool -> IO (Vector Int)
+casadi__Slice__getAll__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Slice__getAll__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+slice_getAll__2 :: SliceClass a => a -> Int -> Bool -> IO (Vector Int)
+slice_getAll__2 x = casadi__Slice__getAll__2 (castSlice x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__isScalar" c_casadi__Slice__isScalar
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> CInt -> IO CInt
+casadi__Slice__isScalar
+  :: Slice -> Int -> IO Bool
+casadi__Slice__isScalar x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Slice__isScalar errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+slice_isScalar :: SliceClass a => a -> Int -> IO Bool
+slice_isScalar x = casadi__Slice__isScalar (castSlice x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__isSlice__0" c_casadi__Slice__isSlice__0
   :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-casadi__Slice__isSlice
+casadi__Slice__isSlice__0
   :: Vector Int -> IO Bool
-casadi__Slice__isSlice x0 =
+casadi__Slice__isSlice__0 x0 =
   withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__Slice__isSlice errStrPtrP x0'
+    ret <- c_casadi__Slice__isSlice__0 errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-slice_isSlice :: Vector Int -> IO Bool
-slice_isSlice = casadi__Slice__isSlice
+slice_isSlice__0 :: Vector Int -> IO Bool
+slice_isSlice__0 = casadi__Slice__isSlice__0
 
 
 -- direct wrapper
+foreign import ccall unsafe "casadi__Slice__isSlice__1" c_casadi__Slice__isSlice__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO CInt
+casadi__Slice__isSlice__1
+  :: Vector Int -> Bool -> IO Bool
+casadi__Slice__isSlice__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Slice__isSlice__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+slice_isSlice__1 :: Vector Int -> Bool -> IO Bool
+slice_isSlice__1 = casadi__Slice__isSlice__1
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__Slice__isSlice2" c_casadi__Slice__isSlice2
   :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
 casadi__Slice__isSlice2
@@ -247,6 +336,27 @@
 -- classy wrapper
 slice_isSlice2 :: Vector Int -> IO Bool
 slice_isSlice2 = casadi__Slice__isSlice2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__toScalar" c_casadi__Slice__toScalar
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> CInt -> IO CInt
+casadi__Slice__toScalar
+  :: Slice -> Int -> IO Int
+casadi__Slice__toScalar x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Slice__toScalar errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+slice_toScalar :: SliceClass a => a -> Int -> IO Int
+slice_toScalar x = casadi__Slice__toScalar (castSlice x)
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/SocpSolver.hs b/Casadi/Core/Classes/SocpSolver.hs
--- a/Casadi/Core/Classes/SocpSolver.hs
+++ b/Casadi/Core/Classes/SocpSolver.hs
@@ -33,7 +33,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__SocpSolver__CONSTRUCTOR" c_casadi__SocpSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr SocpSolver')
diff --git a/Casadi/Core/Classes/Sparsity.hs b/Casadi/Core/Classes/Sparsity.hs
--- a/Casadi/Core/Classes/Sparsity.hs
+++ b/Casadi/Core/Classes/Sparsity.hs
@@ -9,2811 +9,3306 @@
        (
          Sparsity,
          SparsityClass(..),
-         sparsity__0,
-         sparsity__1,
-         sparsity__2,
-         sparsity_append,
-         sparsity_appendColumns,
-         sparsity_band,
-         sparsity_banded,
-         sparsity_bandwidthL,
-         sparsity_bandwidthU,
-         sparsity_clearCache,
-         sparsity_colind__0,
-         sparsity_colind__1,
-         sparsity_compress,
-         sparsity_compressed,
-         sparsity_dense__0,
-         sparsity_dense__1,
-         sparsity_depthFirstSearch,
-         sparsity_diag__0,
-         sparsity_diag__1,
-         sparsity_dimString,
-         sparsity_dulmageMendelsohn__0,
-         sparsity_dulmageMendelsohn__1,
-         sparsity_eliminationTree__0,
-         sparsity_eliminationTree__1,
-         sparsity_enlarge,
-         sparsity_enlargeColumns,
-         sparsity_enlargeRows,
-         sparsity_erase,
-         sparsity_getCCS,
-         sparsity_getCRS,
-         sparsity_getCol,
-         sparsity_getDiag,
-         sparsity_getElements__0,
-         sparsity_getElements__1,
-         sparsity_getElements__2,
-         sparsity_getElements__3,
-         sparsity_getLowerNZ,
-         sparsity_getNZInplace,
-         sparsity_getNZ__0,
-         sparsity_getNZ__1,
-         sparsity_getNZ__2,
-         sparsity_getTril__0,
-         sparsity_getTril__1,
-         sparsity_getTriplet,
-         sparsity_getTriu__0,
-         sparsity_getTriu__1,
-         sparsity_getUpperNZ,
-         sparsity_hasNZ,
-         sparsity_hash,
-         sparsity_isDense,
-         sparsity_isDiagonal,
-         sparsity_isEmpty__0,
-         sparsity_isEmpty__1,
-         sparsity_isEqual__0,
-         sparsity_isEqual__1,
-         sparsity_isReshape,
-         sparsity_isScalar__0,
-         sparsity_isScalar__1,
-         sparsity_isSingular,
-         sparsity_isSquare,
-         sparsity_isSymmetric,
-         sparsity_isTranspose,
-         sparsity_isTril,
-         sparsity_isTriu,
-         sparsity_isVector,
-         sparsity_largestFirstOrdering,
-         sparsity_makeDense,
-         sparsity_numel,
-         sparsity_patternCombine__0,
-         sparsity_patternCombine__1,
-         sparsity_patternIntersection__0,
-         sparsity_patternIntersection__1,
-         sparsity_patternInverse,
-         sparsity_patternProduct,
-         sparsity_patternProductNew,
-         sparsity_patternUnion__0,
-         sparsity_patternUnion__1,
-         sparsity_pmult__0,
-         sparsity_pmult__1,
-         sparsity_pmult__2,
-         sparsity_pmult__3,
-         sparsity_printCompact,
-         sparsity_reCache,
-         sparsity_removeDuplicates,
-         sparsity_reserve,
-         sparsity_reshape,
-         sparsity_resize,
-         sparsity_row__0,
-         sparsity_row__1,
-         sparsity_rowcol,
-         sparsity_rowsSequential__0,
-         sparsity_rowsSequential__1,
-         sparsity_sanityCheck__0,
-         sparsity_sanityCheck__1,
-         sparsity_scalar__0,
-         sparsity_scalar__1,
-         sparsity_size,
-         sparsity_size1,
-         sparsity_size2,
-         sparsity_sizeD,
-         sparsity_sizeL,
-         sparsity_sizeU,
-         sparsity_sparse__0,
-         sparsity_sparse__1,
-         sparsity_spy,
-         sparsity_spyMatlab,
-         sparsity_starColoring2__0,
-         sparsity_starColoring2__1,
-         sparsity_starColoring2__2,
-         sparsity_starColoring__0,
-         sparsity_starColoring__1,
-         sparsity_starColoring__2,
-         sparsity_stronglyConnectedComponents,
-         sparsity_sub,
-         sparsity_transpose__0,
-         sparsity_transpose__1,
-         sparsity_transpose__2,
-         sparsity_tril,
-         sparsity_triplet__0,
-         sparsity_triplet__1,
-         sparsity_triplet__2,
-         sparsity_triu,
-         sparsity_unidirectionalColoring__0,
-         sparsity_unidirectionalColoring__1,
-         sparsity_unidirectionalColoring__2,
-         sparsity_unit,
-       ) where
-
-
-import Prelude hiding ( Functor )
-
-import Data.Vector ( Vector )
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-import Foreign.ForeignPtr ( newForeignPtr )
-import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
-
-import Casadi.Internal.CToolsInstances ( )
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
-import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-import Casadi.Core.Data
-import Casadi.Core.Enums
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__0" c_casadi__Sparsity__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__CONSTRUCTOR__0
-  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__CONSTRUCTOR__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity__0 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity__0 = casadi__Sparsity__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__1" c_casadi__Sparsity__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
-casadi__Sparsity__CONSTRUCTOR__1
-  :: IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__1  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__CONSTRUCTOR__1 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity__1 :: IO Sparsity
-sparsity__1 = casadi__Sparsity__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__2" c_casadi__Sparsity__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__CONSTRUCTOR__2
-  :: Int -> IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__CONSTRUCTOR__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity__2 :: Int -> IO Sparsity
-sparsity__2 = casadi__Sparsity__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__append" c_casadi__Sparsity__append
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO ()
-casadi__Sparsity__append
-  :: Sparsity -> Sparsity -> IO ()
-casadi__Sparsity__append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__append errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_append :: SparsityClass a => a -> Sparsity -> IO ()
-sparsity_append x = casadi__Sparsity__append (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__appendColumns" c_casadi__Sparsity__appendColumns
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO ()
-casadi__Sparsity__appendColumns
-  :: Sparsity -> Sparsity -> IO ()
-casadi__Sparsity__appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__appendColumns errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_appendColumns :: SparsityClass a => a -> Sparsity -> IO ()
-sparsity_appendColumns x = casadi__Sparsity__appendColumns (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__band" c_casadi__Sparsity__band
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__band
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__band x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__band errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_band :: Int -> Int -> IO Sparsity
-sparsity_band = casadi__Sparsity__band
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__banded" c_casadi__Sparsity__banded
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__banded
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__banded x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__banded errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_banded :: Int -> Int -> IO Sparsity
-sparsity_banded = casadi__Sparsity__banded
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__bandwidthL" c_casadi__Sparsity__bandwidthL
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__bandwidthL
-  :: Sparsity -> IO Int
-casadi__Sparsity__bandwidthL x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__bandwidthL errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_bandwidthL :: SparsityClass a => a -> IO Int
-sparsity_bandwidthL x = casadi__Sparsity__bandwidthL (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__bandwidthU" c_casadi__Sparsity__bandwidthU
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__bandwidthU
-  :: Sparsity -> IO Int
-casadi__Sparsity__bandwidthU x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__bandwidthU errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_bandwidthU :: SparsityClass a => a -> IO Int
-sparsity_bandwidthU x = casadi__Sparsity__bandwidthU (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__clearCache" c_casadi__Sparsity__clearCache
-  :: Ptr (Ptr StdString) -> IO ()
-casadi__Sparsity__clearCache
-  :: IO ()
-casadi__Sparsity__clearCache  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__clearCache errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_clearCache :: IO ()
-sparsity_clearCache = casadi__Sparsity__clearCache
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__colind__0" c_casadi__Sparsity__colind__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-casadi__Sparsity__colind__0
-  :: Sparsity -> Int -> IO Int
-casadi__Sparsity__colind__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__colind__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_colind__0 :: SparsityClass a => a -> Int -> IO Int
-sparsity_colind__0 x = casadi__Sparsity__colind__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__colind__1" c_casadi__Sparsity__colind__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__colind__1
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__colind__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__colind__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_colind__1 :: SparsityClass a => a -> IO (Vector Int)
-sparsity_colind__1 x = casadi__Sparsity__colind__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__compress" c_casadi__Sparsity__compress
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__compress
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__compress x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__compress errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_compress :: SparsityClass a => a -> IO (Vector Int)
-sparsity_compress x = casadi__Sparsity__compress (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__compressed" c_casadi__Sparsity__compressed
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__compressed
-  :: Vector Int -> IO Sparsity
-casadi__Sparsity__compressed x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__compressed errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_compressed :: Vector Int -> IO Sparsity
-sparsity_compressed = casadi__Sparsity__compressed
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dense__0" c_casadi__Sparsity__dense__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__dense__0
-  :: Int -> IO Sparsity
-casadi__Sparsity__dense__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__dense__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_dense__0 :: Int -> IO Sparsity
-sparsity_dense__0 = casadi__Sparsity__dense__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dense__1" c_casadi__Sparsity__dense__1
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__dense__1
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__dense__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__dense__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_dense__1 :: Int -> Int -> IO Sparsity
-sparsity_dense__1 = casadi__Sparsity__dense__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__depthFirstSearch" c_casadi__Sparsity__depthFirstSearch
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-casadi__Sparsity__depthFirstSearch
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
-casadi__Sparsity__depthFirstSearch x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__depthFirstSearch errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_depthFirstSearch :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
-sparsity_depthFirstSearch x = casadi__Sparsity__depthFirstSearch (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__diag__0" c_casadi__Sparsity__diag__0
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__diag__0
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__diag__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__diag__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_diag__0 :: Int -> Int -> IO Sparsity
-sparsity_diag__0 = casadi__Sparsity__diag__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__diag__1" c_casadi__Sparsity__diag__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__diag__1
-  :: Int -> IO Sparsity
-casadi__Sparsity__diag__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__diag__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_diag__1 :: Int -> IO Sparsity
-sparsity_diag__1 = casadi__Sparsity__diag__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dimString" c_casadi__Sparsity__dimString
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr StdString)
-casadi__Sparsity__dimString
-  :: Sparsity -> IO String
-casadi__Sparsity__dimString x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__dimString errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_dimString :: SparsityClass a => a -> IO String
-sparsity_dimString x = casadi__Sparsity__dimString (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dulmageMendelsohn__0" c_casadi__Sparsity__dulmageMendelsohn__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-casadi__Sparsity__dulmageMendelsohn__0
-  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO Int
-casadi__Sparsity__dulmageMendelsohn__0 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__dulmageMendelsohn__0 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_dulmageMendelsohn__0 :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO Int
-sparsity_dulmageMendelsohn__0 x = casadi__Sparsity__dulmageMendelsohn__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__dulmageMendelsohn__1" c_casadi__Sparsity__dulmageMendelsohn__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO CInt
-casadi__Sparsity__dulmageMendelsohn__1
-  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Int -> IO Int
-casadi__Sparsity__dulmageMendelsohn__1 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__dulmageMendelsohn__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_dulmageMendelsohn__1 :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Int -> IO Int
-sparsity_dulmageMendelsohn__1 x = casadi__Sparsity__dulmageMendelsohn__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__eliminationTree__0" c_casadi__Sparsity__eliminationTree__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__eliminationTree__0
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__eliminationTree__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__eliminationTree__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_eliminationTree__0 :: SparsityClass a => a -> IO (Vector Int)
-sparsity_eliminationTree__0 x = casadi__Sparsity__eliminationTree__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__eliminationTree__1" c_casadi__Sparsity__eliminationTree__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__eliminationTree__1
-  :: Sparsity -> Bool -> IO (Vector Int)
-casadi__Sparsity__eliminationTree__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__eliminationTree__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_eliminationTree__1 :: SparsityClass a => a -> Bool -> IO (Vector Int)
-sparsity_eliminationTree__1 x = casadi__Sparsity__eliminationTree__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlarge" c_casadi__Sparsity__enlarge
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__enlarge
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casadi__Sparsity__enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__enlarge errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_enlarge :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-sparsity_enlarge x = casadi__Sparsity__enlarge (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlargeColumns" c_casadi__Sparsity__enlargeColumns
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__enlargeColumns
-  :: Sparsity -> Int -> Vector Int -> IO ()
-casadi__Sparsity__enlargeColumns x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__enlargeColumns errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_enlargeColumns :: SparsityClass a => a -> Int -> Vector Int -> IO ()
-sparsity_enlargeColumns x = casadi__Sparsity__enlargeColumns (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__enlargeRows" c_casadi__Sparsity__enlargeRows
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__enlargeRows
-  :: Sparsity -> Int -> Vector Int -> IO ()
-casadi__Sparsity__enlargeRows x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__enlargeRows errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_enlargeRows :: SparsityClass a => a -> Int -> Vector Int -> IO ()
-sparsity_enlargeRows x = casadi__Sparsity__enlargeRows (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__erase" c_casadi__Sparsity__erase
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__erase
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
-casadi__Sparsity__erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__erase errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_erase :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
-sparsity_erase x = casadi__Sparsity__erase (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getCCS" c_casadi__Sparsity__getCCS
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__getCCS
-  :: Sparsity -> Vector Int -> Vector Int -> IO ()
-casadi__Sparsity__getCCS x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getCCS errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getCCS :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
-sparsity_getCCS x = casadi__Sparsity__getCCS (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getCRS" c_casadi__Sparsity__getCRS
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__getCRS
-  :: Sparsity -> Vector Int -> Vector Int -> IO ()
-casadi__Sparsity__getCRS x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getCRS errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getCRS :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
-sparsity_getCRS x = casadi__Sparsity__getCRS (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getCol" c_casadi__Sparsity__getCol
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__getCol
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__getCol x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getCol errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getCol :: SparsityClass a => a -> IO (Vector Int)
-sparsity_getCol x = casadi__Sparsity__getCol (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getDiag" c_casadi__Sparsity__getDiag
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__getDiag
-  :: Sparsity -> Vector Int -> IO Sparsity
-casadi__Sparsity__getDiag x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getDiag errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getDiag :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_getDiag x = casadi__Sparsity__getDiag (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getElements__0" c_casadi__Sparsity__getElements__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__getElements__0
-  :: Sparsity -> Vector Int -> IO ()
-casadi__Sparsity__getElements__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getElements__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getElements__0 :: SparsityClass a => a -> Vector Int -> IO ()
-sparsity_getElements__0 x = casadi__Sparsity__getElements__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getElements__1" c_casadi__Sparsity__getElements__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO ()
-casadi__Sparsity__getElements__1
-  :: Sparsity -> Vector Int -> Bool -> IO ()
-casadi__Sparsity__getElements__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getElements__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getElements__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO ()
-sparsity_getElements__1 x = casadi__Sparsity__getElements__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getElements__2" c_casadi__Sparsity__getElements__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__getElements__2
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__getElements__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getElements__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getElements__2 :: SparsityClass a => a -> IO (Vector Int)
-sparsity_getElements__2 x = casadi__Sparsity__getElements__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getElements__3" c_casadi__Sparsity__getElements__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__getElements__3
-  :: Sparsity -> Bool -> IO (Vector Int)
-casadi__Sparsity__getElements__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getElements__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getElements__3 :: SparsityClass a => a -> Bool -> IO (Vector Int)
-sparsity_getElements__3 x = casadi__Sparsity__getElements__3 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getLowerNZ" c_casadi__Sparsity__getLowerNZ
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__getLowerNZ
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__getLowerNZ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getLowerNZ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getLowerNZ :: SparsityClass a => a -> IO (Vector Int)
-sparsity_getLowerNZ x = casadi__Sparsity__getLowerNZ (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getNZ__0" c_casadi__Sparsity__getNZ__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__getNZ__0
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
-casadi__Sparsity__getNZ__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getNZ__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getNZ__0 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
-sparsity_getNZ__0 x = casadi__Sparsity__getNZ__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getNZ__1" c_casadi__Sparsity__getNZ__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
-casadi__Sparsity__getNZ__1
-  :: Sparsity -> Int -> Int -> IO Int
-casadi__Sparsity__getNZ__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getNZ__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getNZ__1 :: SparsityClass a => a -> Int -> Int -> IO Int
-sparsity_getNZ__1 x = casadi__Sparsity__getNZ__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getNZ__2" c_casadi__Sparsity__getNZ__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
-casadi__Sparsity__getNZ__2
-  :: Sparsity -> Int -> Int -> IO Int
-casadi__Sparsity__getNZ__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getNZ__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getNZ__2 :: SparsityClass a => a -> Int -> Int -> IO Int
-sparsity_getNZ__2 x = casadi__Sparsity__getNZ__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getNZInplace" c_casadi__Sparsity__getNZInplace
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__getNZInplace
-  :: Sparsity -> Vector Int -> IO ()
-casadi__Sparsity__getNZInplace x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getNZInplace errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getNZInplace :: SparsityClass a => a -> Vector Int -> IO ()
-sparsity_getNZInplace x = casadi__Sparsity__getNZInplace (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getTril__0" c_casadi__Sparsity__getTril__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__getTril__0
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__getTril__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getTril__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getTril__0 :: SparsityClass a => a -> IO Sparsity
-sparsity_getTril__0 x = casadi__Sparsity__getTril__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getTril__1" c_casadi__Sparsity__getTril__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__getTril__1
-  :: Sparsity -> Bool -> IO Sparsity
-casadi__Sparsity__getTril__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getTril__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getTril__1 :: SparsityClass a => a -> Bool -> IO Sparsity
-sparsity_getTril__1 x = casadi__Sparsity__getTril__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getTriplet" c_casadi__Sparsity__getTriplet
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__getTriplet
-  :: Sparsity -> Vector Int -> Vector Int -> IO ()
-casadi__Sparsity__getTriplet x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getTriplet errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getTriplet :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
-sparsity_getTriplet x = casadi__Sparsity__getTriplet (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getTriu__0" c_casadi__Sparsity__getTriu__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__getTriu__0
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__getTriu__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getTriu__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getTriu__0 :: SparsityClass a => a -> IO Sparsity
-sparsity_getTriu__0 x = casadi__Sparsity__getTriu__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getTriu__1" c_casadi__Sparsity__getTriu__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__getTriu__1
-  :: Sparsity -> Bool -> IO Sparsity
-casadi__Sparsity__getTriu__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getTriu__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getTriu__1 :: SparsityClass a => a -> Bool -> IO Sparsity
-sparsity_getTriu__1 x = casadi__Sparsity__getTriu__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__getUpperNZ" c_casadi__Sparsity__getUpperNZ
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__getUpperNZ
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__getUpperNZ x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__getUpperNZ errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_getUpperNZ :: SparsityClass a => a -> IO (Vector Int)
-sparsity_getUpperNZ x = casadi__Sparsity__getUpperNZ (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__hasNZ" c_casadi__Sparsity__hasNZ
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
-casadi__Sparsity__hasNZ
-  :: Sparsity -> Int -> Int -> IO Bool
-casadi__Sparsity__hasNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__hasNZ errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_hasNZ :: SparsityClass a => a -> Int -> Int -> IO Bool
-sparsity_hasNZ x = casadi__Sparsity__hasNZ (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__hash" c_casadi__Sparsity__hash
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CSize
-casadi__Sparsity__hash
-  :: Sparsity -> IO CSize
-casadi__Sparsity__hash x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__hash errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_hash :: SparsityClass a => a -> IO CSize
-sparsity_hash x = casadi__Sparsity__hash (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isDense" c_casadi__Sparsity__isDense
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isDense
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isDense x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isDense errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isDense :: SparsityClass a => a -> IO Bool
-sparsity_isDense x = casadi__Sparsity__isDense (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isDiagonal" c_casadi__Sparsity__isDiagonal
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isDiagonal
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isDiagonal x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isDiagonal errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isDiagonal :: SparsityClass a => a -> IO Bool
-sparsity_isDiagonal x = casadi__Sparsity__isDiagonal (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isEmpty__0" c_casadi__Sparsity__isEmpty__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isEmpty__0
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isEmpty__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isEmpty__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isEmpty__0 :: SparsityClass a => a -> IO Bool
-sparsity_isEmpty__0 x = casadi__Sparsity__isEmpty__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isEmpty__1" c_casadi__Sparsity__isEmpty__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-casadi__Sparsity__isEmpty__1
-  :: Sparsity -> Bool -> IO Bool
-casadi__Sparsity__isEmpty__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isEmpty__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isEmpty__1 :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_isEmpty__1 x = casadi__Sparsity__isEmpty__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isEqual__0" c_casadi__Sparsity__isEqual__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-casadi__Sparsity__isEqual__0
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
-casadi__Sparsity__isEqual__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isEqual__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isEqual__0 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
-sparsity_isEqual__0 x = casadi__Sparsity__isEqual__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isEqual__1" c_casadi__Sparsity__isEqual__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isEqual__1
-  :: Sparsity -> Sparsity -> IO Bool
-casadi__Sparsity__isEqual__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isEqual__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isEqual__1 :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_isEqual__1 x = casadi__Sparsity__isEqual__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isReshape" c_casadi__Sparsity__isReshape
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isReshape
-  :: Sparsity -> Sparsity -> IO Bool
-casadi__Sparsity__isReshape x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isReshape errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isReshape :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_isReshape x = casadi__Sparsity__isReshape (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isScalar__0" c_casadi__Sparsity__isScalar__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isScalar__0
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isScalar__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isScalar__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isScalar__0 :: SparsityClass a => a -> IO Bool
-sparsity_isScalar__0 x = casadi__Sparsity__isScalar__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isScalar__1" c_casadi__Sparsity__isScalar__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-casadi__Sparsity__isScalar__1
-  :: Sparsity -> Bool -> IO Bool
-casadi__Sparsity__isScalar__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isScalar__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isScalar__1 :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_isScalar__1 x = casadi__Sparsity__isScalar__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isSingular" c_casadi__Sparsity__isSingular
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isSingular
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isSingular x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isSingular errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isSingular :: SparsityClass a => a -> IO Bool
-sparsity_isSingular x = casadi__Sparsity__isSingular (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isSquare" c_casadi__Sparsity__isSquare
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isSquare
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isSquare errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isSquare :: SparsityClass a => a -> IO Bool
-sparsity_isSquare x = casadi__Sparsity__isSquare (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isSymmetric" c_casadi__Sparsity__isSymmetric
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isSymmetric
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isSymmetric x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isSymmetric errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isSymmetric :: SparsityClass a => a -> IO Bool
-sparsity_isSymmetric x = casadi__Sparsity__isSymmetric (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isTranspose" c_casadi__Sparsity__isTranspose
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isTranspose
-  :: Sparsity -> Sparsity -> IO Bool
-casadi__Sparsity__isTranspose x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isTranspose errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isTranspose :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_isTranspose x = casadi__Sparsity__isTranspose (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isTril" c_casadi__Sparsity__isTril
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isTril
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isTril x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isTril errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isTril :: SparsityClass a => a -> IO Bool
-sparsity_isTril x = casadi__Sparsity__isTril (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isTriu" c_casadi__Sparsity__isTriu
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isTriu
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isTriu errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isTriu :: SparsityClass a => a -> IO Bool
-sparsity_isTriu x = casadi__Sparsity__isTriu (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__isVector" c_casadi__Sparsity__isVector
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__isVector
-  :: Sparsity -> IO Bool
-casadi__Sparsity__isVector x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__isVector errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_isVector :: SparsityClass a => a -> IO Bool
-sparsity_isVector x = casadi__Sparsity__isVector (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__largestFirstOrdering" c_casadi__Sparsity__largestFirstOrdering
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__largestFirstOrdering
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__largestFirstOrdering x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__largestFirstOrdering errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_largestFirstOrdering :: SparsityClass a => a -> IO (Vector Int)
-sparsity_largestFirstOrdering x = casadi__Sparsity__largestFirstOrdering (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__makeDense" c_casadi__Sparsity__makeDense
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__makeDense
-  :: Sparsity -> Vector Int -> IO Sparsity
-casadi__Sparsity__makeDense x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__makeDense errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_makeDense :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_makeDense x = casadi__Sparsity__makeDense (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__numel" c_casadi__Sparsity__numel
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__numel
-  :: Sparsity -> IO Int
-casadi__Sparsity__numel x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__numel errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_numel :: SparsityClass a => a -> IO Int
-sparsity_numel x = casadi__Sparsity__numel (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternCombine__0" c_casadi__Sparsity__patternCombine__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__patternCombine__0
-  :: Sparsity -> Sparsity -> Bool -> Bool -> IO Sparsity
-casadi__Sparsity__patternCombine__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternCombine__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternCombine__0 :: SparsityClass a => a -> Sparsity -> Bool -> Bool -> IO Sparsity
-sparsity_patternCombine__0 x = casadi__Sparsity__patternCombine__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternCombine__1" c_casadi__Sparsity__patternCombine__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CUChar) -> IO (Ptr Sparsity')
-casadi__Sparsity__patternCombine__1
-  :: Sparsity -> Sparsity -> Bool -> Bool -> Vector CUChar -> IO Sparsity
-casadi__Sparsity__patternCombine__1 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternCombine__1 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternCombine__1 :: SparsityClass a => a -> Sparsity -> Bool -> Bool -> Vector CUChar -> IO Sparsity
-sparsity_patternCombine__1 x = casadi__Sparsity__patternCombine__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternIntersection__0" c_casadi__Sparsity__patternIntersection__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__patternIntersection__0
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__patternIntersection__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternIntersection__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternIntersection__0 :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_patternIntersection__0 x = casadi__Sparsity__patternIntersection__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternIntersection__1" c_casadi__Sparsity__patternIntersection__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr (StdVec CUChar) -> IO (Ptr Sparsity')
-casadi__Sparsity__patternIntersection__1
-  :: Sparsity -> Sparsity -> Vector CUChar -> IO Sparsity
-casadi__Sparsity__patternIntersection__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternIntersection__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternIntersection__1 :: SparsityClass a => a -> Sparsity -> Vector CUChar -> IO Sparsity
-sparsity_patternIntersection__1 x = casadi__Sparsity__patternIntersection__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternInverse" c_casadi__Sparsity__patternInverse
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__patternInverse
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__patternInverse x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternInverse errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternInverse :: SparsityClass a => a -> IO Sparsity
-sparsity_patternInverse x = casadi__Sparsity__patternInverse (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternProduct" c_casadi__Sparsity__patternProduct
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__patternProduct
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__patternProduct x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternProduct errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternProduct :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_patternProduct x = casadi__Sparsity__patternProduct (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternProductNew" c_casadi__Sparsity__patternProductNew
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__patternProductNew
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__patternProductNew x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternProductNew errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternProductNew :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_patternProductNew x = casadi__Sparsity__patternProductNew (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternUnion__0" c_casadi__Sparsity__patternUnion__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__patternUnion__0
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__patternUnion__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternUnion__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternUnion__0 :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_patternUnion__0 x = casadi__Sparsity__patternUnion__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__patternUnion__1" c_casadi__Sparsity__patternUnion__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr (StdVec CUChar) -> IO (Ptr Sparsity')
-casadi__Sparsity__patternUnion__1
-  :: Sparsity -> Sparsity -> Vector CUChar -> IO Sparsity
-casadi__Sparsity__patternUnion__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__patternUnion__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_patternUnion__1 :: SparsityClass a => a -> Sparsity -> Vector CUChar -> IO Sparsity
-sparsity_patternUnion__1 x = casadi__Sparsity__patternUnion__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pmult__0" c_casadi__Sparsity__pmult__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__pmult__0
-  :: Sparsity -> Vector Int -> IO Sparsity
-casadi__Sparsity__pmult__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__pmult__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_pmult__0 :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_pmult__0 x = casadi__Sparsity__pmult__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pmult__1" c_casadi__Sparsity__pmult__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__pmult__1
-  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
-casadi__Sparsity__pmult__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__pmult__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_pmult__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
-sparsity_pmult__1 x = casadi__Sparsity__pmult__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pmult__2" c_casadi__Sparsity__pmult__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__pmult__2
-  :: Sparsity -> Vector Int -> Bool -> Bool -> IO Sparsity
-casadi__Sparsity__pmult__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__pmult__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_pmult__2 :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> IO Sparsity
-sparsity_pmult__2 x = casadi__Sparsity__pmult__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__pmult__3" c_casadi__Sparsity__pmult__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__pmult__3
-  :: Sparsity -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
-casadi__Sparsity__pmult__3 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__pmult__3 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_pmult__3 :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
-sparsity_pmult__3 x = casadi__Sparsity__pmult__3 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__printCompact" c_casadi__Sparsity__printCompact
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
-casadi__Sparsity__printCompact
-  :: Sparsity -> IO ()
-casadi__Sparsity__printCompact x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__printCompact errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_printCompact :: SparsityClass a => a -> IO ()
-sparsity_printCompact x = casadi__Sparsity__printCompact (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__reCache" c_casadi__Sparsity__reCache
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
-casadi__Sparsity__reCache
-  :: Sparsity -> IO ()
-casadi__Sparsity__reCache x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__reCache errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_reCache :: SparsityClass a => a -> IO ()
-sparsity_reCache x = casadi__Sparsity__reCache (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__removeDuplicates" c_casadi__Sparsity__removeDuplicates
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO ()
-casadi__Sparsity__removeDuplicates
-  :: Sparsity -> Vector Int -> IO ()
-casadi__Sparsity__removeDuplicates x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__removeDuplicates errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_removeDuplicates :: SparsityClass a => a -> Vector Int -> IO ()
-sparsity_removeDuplicates x = casadi__Sparsity__removeDuplicates (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__reserve" c_casadi__Sparsity__reserve
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO ()
-casadi__Sparsity__reserve
-  :: Sparsity -> Int -> Int -> IO ()
-casadi__Sparsity__reserve x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__reserve errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_reserve :: SparsityClass a => a -> Int -> Int -> IO ()
-sparsity_reserve x = casadi__Sparsity__reserve (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__reshape" c_casadi__Sparsity__reshape
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__reshape
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casadi__Sparsity__reshape x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__reshape errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_reshape :: SparsityClass a => a -> Int -> Int -> IO Sparsity
-sparsity_reshape x = casadi__Sparsity__reshape (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__resize" c_casadi__Sparsity__resize
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO ()
-casadi__Sparsity__resize
-  :: Sparsity -> Int -> Int -> IO ()
-casadi__Sparsity__resize x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__resize errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_resize :: SparsityClass a => a -> Int -> Int -> IO ()
-sparsity_resize x = casadi__Sparsity__resize (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__row__0" c_casadi__Sparsity__row__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-casadi__Sparsity__row__0
-  :: Sparsity -> Int -> IO Int
-casadi__Sparsity__row__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__row__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_row__0 :: SparsityClass a => a -> Int -> IO Int
-sparsity_row__0 x = casadi__Sparsity__row__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__row__1" c_casadi__Sparsity__row__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
-casadi__Sparsity__row__1
-  :: Sparsity -> IO (Vector Int)
-casadi__Sparsity__row__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__row__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_row__1 :: SparsityClass a => a -> IO (Vector Int)
-sparsity_row__1 x = casadi__Sparsity__row__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__rowcol" c_casadi__Sparsity__rowcol
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__rowcol
-  :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
-casadi__Sparsity__rowcol x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__rowcol errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_rowcol :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
-sparsity_rowcol = casadi__Sparsity__rowcol
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__rowsSequential__0" c_casadi__Sparsity__rowsSequential__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__rowsSequential__0
-  :: Sparsity -> IO Bool
-casadi__Sparsity__rowsSequential__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__rowsSequential__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_rowsSequential__0 :: SparsityClass a => a -> IO Bool
-sparsity_rowsSequential__0 x = casadi__Sparsity__rowsSequential__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__rowsSequential__1" c_casadi__Sparsity__rowsSequential__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
-casadi__Sparsity__rowsSequential__1
-  :: Sparsity -> Bool -> IO Bool
-casadi__Sparsity__rowsSequential__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__rowsSequential__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_rowsSequential__1 :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_rowsSequential__1 x = casadi__Sparsity__rowsSequential__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sanityCheck__0" c_casadi__Sparsity__sanityCheck__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
-casadi__Sparsity__sanityCheck__0
-  :: Sparsity -> IO ()
-casadi__Sparsity__sanityCheck__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__sanityCheck__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_sanityCheck__0 :: SparsityClass a => a -> IO ()
-sparsity_sanityCheck__0 x = casadi__Sparsity__sanityCheck__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sanityCheck__1" c_casadi__Sparsity__sanityCheck__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO ()
-casadi__Sparsity__sanityCheck__1
-  :: Sparsity -> Bool -> IO ()
-casadi__Sparsity__sanityCheck__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__sanityCheck__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_sanityCheck__1 :: SparsityClass a => a -> Bool -> IO ()
-sparsity_sanityCheck__1 x = casadi__Sparsity__sanityCheck__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__scalar__0" c_casadi__Sparsity__scalar__0
-  :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
-casadi__Sparsity__scalar__0
-  :: IO Sparsity
-casadi__Sparsity__scalar__0  =
-
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__scalar__0 errStrPtrP 
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_scalar__0 :: IO Sparsity
-sparsity_scalar__0 = casadi__Sparsity__scalar__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__scalar__1" c_casadi__Sparsity__scalar__1
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__scalar__1
-  :: Bool -> IO Sparsity
-casadi__Sparsity__scalar__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__scalar__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_scalar__1 :: Bool -> IO Sparsity
-sparsity_scalar__1 = casadi__Sparsity__scalar__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__size" c_casadi__Sparsity__size
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__size
-  :: Sparsity -> IO Int
-casadi__Sparsity__size x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__size errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_size :: SparsityClass a => a -> IO Int
-sparsity_size x = casadi__Sparsity__size (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__size1" c_casadi__Sparsity__size1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__size1
-  :: Sparsity -> IO Int
-casadi__Sparsity__size1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__size1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_size1 :: SparsityClass a => a -> IO Int
-sparsity_size1 x = casadi__Sparsity__size1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__size2" c_casadi__Sparsity__size2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__size2
-  :: Sparsity -> IO Int
-casadi__Sparsity__size2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__size2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_size2 :: SparsityClass a => a -> IO Int
-sparsity_size2 x = casadi__Sparsity__size2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sizeD" c_casadi__Sparsity__sizeD
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__sizeD
-  :: Sparsity -> IO Int
-casadi__Sparsity__sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__sizeD errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_sizeD :: SparsityClass a => a -> IO Int
-sparsity_sizeD x = casadi__Sparsity__sizeD (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sizeL" c_casadi__Sparsity__sizeL
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__sizeL
-  :: Sparsity -> IO Int
-casadi__Sparsity__sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__sizeL errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_sizeL :: SparsityClass a => a -> IO Int
-sparsity_sizeL x = casadi__Sparsity__sizeL (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sizeU" c_casadi__Sparsity__sizeU
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-casadi__Sparsity__sizeU
-  :: Sparsity -> IO Int
-casadi__Sparsity__sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__sizeU errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_sizeU :: SparsityClass a => a -> IO Int
-sparsity_sizeU x = casadi__Sparsity__sizeU (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sparse__0" c_casadi__Sparsity__sparse__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__sparse__0
-  :: Int -> IO Sparsity
-casadi__Sparsity__sparse__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__sparse__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_sparse__0 :: Int -> IO Sparsity
-sparsity_sparse__0 = casadi__Sparsity__sparse__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sparse__1" c_casadi__Sparsity__sparse__1
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__sparse__1
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__sparse__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__sparse__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_sparse__1 :: Int -> Int -> IO Sparsity
-sparsity_sparse__1 = casadi__Sparsity__sparse__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__spy" c_casadi__Sparsity__spy
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
-casadi__Sparsity__spy
-  :: Sparsity -> IO ()
-casadi__Sparsity__spy x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__spy errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_spy :: SparsityClass a => a -> IO ()
-sparsity_spy x = casadi__Sparsity__spy (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__spyMatlab" c_casadi__Sparsity__spyMatlab
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr StdString -> IO ()
-casadi__Sparsity__spyMatlab
-  :: Sparsity -> String -> IO ()
-casadi__Sparsity__spyMatlab x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__spyMatlab errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_spyMatlab :: SparsityClass a => a -> String -> IO ()
-sparsity_spyMatlab x = casadi__Sparsity__spyMatlab (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__starColoring__0" c_casadi__Sparsity__starColoring__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__starColoring__0
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__starColoring__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__starColoring__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_starColoring__0 :: SparsityClass a => a -> IO Sparsity
-sparsity_starColoring__0 x = casadi__Sparsity__starColoring__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__starColoring__1" c_casadi__Sparsity__starColoring__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__starColoring__1
-  :: Sparsity -> Int -> IO Sparsity
-casadi__Sparsity__starColoring__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__starColoring__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_starColoring__1 :: SparsityClass a => a -> Int -> IO Sparsity
-sparsity_starColoring__1 x = casadi__Sparsity__starColoring__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__starColoring__2" c_casadi__Sparsity__starColoring__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__starColoring__2
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casadi__Sparsity__starColoring__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__starColoring__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_starColoring__2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
-sparsity_starColoring__2 x = casadi__Sparsity__starColoring__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__starColoring2__0" c_casadi__Sparsity__starColoring2__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__starColoring2__0
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__starColoring2__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__starColoring2__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_starColoring2__0 :: SparsityClass a => a -> IO Sparsity
-sparsity_starColoring2__0 x = casadi__Sparsity__starColoring2__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__starColoring2__1" c_casadi__Sparsity__starColoring2__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__starColoring2__1
-  :: Sparsity -> Int -> IO Sparsity
-casadi__Sparsity__starColoring2__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__starColoring2__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_starColoring2__1 :: SparsityClass a => a -> Int -> IO Sparsity
-sparsity_starColoring2__1 x = casadi__Sparsity__starColoring2__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__starColoring2__2" c_casadi__Sparsity__starColoring2__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__starColoring2__2
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casadi__Sparsity__starColoring2__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__starColoring2__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_starColoring2__2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
-sparsity_starColoring2__2 x = casadi__Sparsity__starColoring2__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__stronglyConnectedComponents" c_casadi__Sparsity__stronglyConnectedComponents
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-casadi__Sparsity__stronglyConnectedComponents
-  :: Sparsity -> Vector Int -> Vector Int -> IO Int
-casadi__Sparsity__stronglyConnectedComponents x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__stronglyConnectedComponents errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_stronglyConnectedComponents :: SparsityClass a => a -> Vector Int -> Vector Int -> IO Int
-sparsity_stronglyConnectedComponents x = casadi__Sparsity__stronglyConnectedComponents (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__sub" c_casadi__Sparsity__sub
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__sub
-  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-casadi__Sparsity__sub x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__sub errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_sub :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity_sub x = casadi__Sparsity__sub (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__transpose__0" c_casadi__Sparsity__transpose__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__transpose__0
-  :: Sparsity -> Vector Int -> IO Sparsity
-casadi__Sparsity__transpose__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__transpose__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_transpose__0 :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_transpose__0 x = casadi__Sparsity__transpose__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__transpose__1" c_casadi__Sparsity__transpose__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__transpose__1
-  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
-casadi__Sparsity__transpose__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__transpose__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_transpose__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
-sparsity_transpose__1 x = casadi__Sparsity__transpose__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__transpose__2" c_casadi__Sparsity__transpose__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__transpose__2
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__transpose__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__transpose__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_transpose__2 :: SparsityClass a => a -> IO Sparsity
-sparsity_transpose__2 x = casadi__Sparsity__transpose__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__tril" c_casadi__Sparsity__tril
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__tril
-  :: Int -> IO Sparsity
-casadi__Sparsity__tril x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__tril errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_tril :: Int -> IO Sparsity
-sparsity_tril = casadi__Sparsity__tril
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__triplet__0" c_casadi__Sparsity__triplet__0
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__triplet__0
-  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-casadi__Sparsity__triplet__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__triplet__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_triplet__0 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity_triplet__0 = casadi__Sparsity__triplet__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__triplet__1" c_casadi__Sparsity__triplet__1
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
-casadi__Sparsity__triplet__1
-  :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-casadi__Sparsity__triplet__1 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__triplet__1 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_triplet__1 :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity_triplet__1 = casadi__Sparsity__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__triplet__2" c_casadi__Sparsity__triplet__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__triplet__2
-  :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
-casadi__Sparsity__triplet__2 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__triplet__2 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_triplet__2 :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
-sparsity_triplet__2 = casadi__Sparsity__triplet__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__triu" c_casadi__Sparsity__triu
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__triu
-  :: Int -> IO Sparsity
-casadi__Sparsity__triu x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__triu errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_triu :: Int -> IO Sparsity
-sparsity_triu = casadi__Sparsity__triu
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__unidirectionalColoring__0" c_casadi__Sparsity__unidirectionalColoring__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__unidirectionalColoring__0
-  :: Sparsity -> IO Sparsity
-casadi__Sparsity__unidirectionalColoring__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__unidirectionalColoring__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_unidirectionalColoring__0 :: SparsityClass a => a -> IO Sparsity
-sparsity_unidirectionalColoring__0 x = casadi__Sparsity__unidirectionalColoring__0 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__unidirectionalColoring__1" c_casadi__Sparsity__unidirectionalColoring__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casadi__Sparsity__unidirectionalColoring__1
-  :: Sparsity -> Sparsity -> IO Sparsity
-casadi__Sparsity__unidirectionalColoring__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__unidirectionalColoring__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_unidirectionalColoring__1 :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_unidirectionalColoring__1 x = casadi__Sparsity__unidirectionalColoring__1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__unidirectionalColoring__2" c_casadi__Sparsity__unidirectionalColoring__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__unidirectionalColoring__2
-  :: Sparsity -> Sparsity -> Int -> IO Sparsity
-casadi__Sparsity__unidirectionalColoring__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__unidirectionalColoring__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_unidirectionalColoring__2 :: SparsityClass a => a -> Sparsity -> Int -> IO Sparsity
-sparsity_unidirectionalColoring__2 x = casadi__Sparsity__unidirectionalColoring__2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__unit" c_casadi__Sparsity__unit
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
-casadi__Sparsity__unit
-  :: Int -> Int -> IO Sparsity
-casadi__Sparsity__unit x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Sparsity__unit errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-sparsity_unit :: Int -> Int -> IO Sparsity
-sparsity_unit = casadi__Sparsity__unit
+         sparsity_T,
+         sparsity__0,
+         sparsity__1,
+         sparsity__2,
+         sparsity_addNZ,
+         sparsity_append,
+         sparsity_appendColumns,
+         sparsity_band,
+         sparsity_banded,
+         sparsity_bandwidthL,
+         sparsity_bandwidthU,
+         sparsity_clearCache,
+         sparsity_colind__0,
+         sparsity_colind__1,
+         sparsity_compress,
+         sparsity_compressed,
+         sparsity_dense__0,
+         sparsity_dense__1,
+         sparsity_depthFirstSearch,
+         sparsity_diag__0,
+         sparsity_diag__1,
+         sparsity_dimString,
+         sparsity_dulmageMendelsohn__0,
+         sparsity_dulmageMendelsohn__1,
+         sparsity_eliminationTree__0,
+         sparsity_eliminationTree__1,
+         sparsity_enlargeColumns__0,
+         sparsity_enlargeColumns__1,
+         sparsity_enlargeRows__0,
+         sparsity_enlargeRows__1,
+         sparsity_enlarge__0,
+         sparsity_enlarge__1,
+         sparsity_erase__0,
+         sparsity_erase__1,
+         sparsity_erase__2,
+         sparsity_erase__3,
+         sparsity_find__0,
+         sparsity_find__1,
+         sparsity_getCCS,
+         sparsity_getCRS,
+         sparsity_getCol,
+         sparsity_getDiag,
+         sparsity_getLowerNZ,
+         sparsity_getNZ__0,
+         sparsity_getNZ__1,
+         sparsity_getNZ__2,
+         sparsity_getTriplet,
+         sparsity_getUpperNZ,
+         sparsity_hasNZ,
+         sparsity_hash,
+         sparsity_isDense,
+         sparsity_isDiagonal,
+         sparsity_isEmpty__0,
+         sparsity_isEmpty__1,
+         sparsity_isEqual__0,
+         sparsity_isEqual__1,
+         sparsity_isReshape,
+         sparsity_isScalar__0,
+         sparsity_isScalar__1,
+         sparsity_isSingular,
+         sparsity_isSquare,
+         sparsity_isSymmetric,
+         sparsity_isTranspose,
+         sparsity_isTril,
+         sparsity_isTriu,
+         sparsity_isVector,
+         sparsity_largestFirstOrdering,
+         sparsity_lower,
+         sparsity_makeDense,
+         sparsity_numel,
+         sparsity_patternCombine__0,
+         sparsity_patternCombine__1,
+         sparsity_patternIntersection__0,
+         sparsity_patternIntersection__1,
+         sparsity_patternInverse,
+         sparsity_patternProduct,
+         sparsity_patternUnion__0,
+         sparsity_patternUnion__1,
+         sparsity_pmult__0,
+         sparsity_pmult__1,
+         sparsity_pmult__2,
+         sparsity_pmult__3,
+         sparsity_printCompact,
+         sparsity_reCache,
+         sparsity_removeDuplicates,
+         sparsity_reserve,
+         sparsity_resize,
+         sparsity_row__0,
+         sparsity_row__1,
+         sparsity_rowcol,
+         sparsity_rowsSequential__0,
+         sparsity_rowsSequential__1,
+         sparsity_sanityCheck__0,
+         sparsity_sanityCheck__1,
+         sparsity_scalar__0,
+         sparsity_scalar__1,
+         sparsity_size,
+         sparsity_size1,
+         sparsity_size2,
+         sparsity_sizeD,
+         sparsity_sizeL,
+         sparsity_sizeU,
+         sparsity_sparse__0,
+         sparsity_sparse__1,
+         sparsity_spy,
+         sparsity_spyMatlab,
+         sparsity_starColoring2__0,
+         sparsity_starColoring2__1,
+         sparsity_starColoring2__2,
+         sparsity_starColoring__0,
+         sparsity_starColoring__1,
+         sparsity_starColoring__2,
+         sparsity_stronglyConnectedComponents,
+         sparsity_sub__0,
+         sparsity_sub__1,
+         sparsity_sub__2,
+         sparsity_sub__3,
+         sparsity_transpose__0,
+         sparsity_transpose__1,
+         sparsity_triplet__0,
+         sparsity_triplet__1,
+         sparsity_triplet__2,
+         sparsity_unidirectionalColoring__0,
+         sparsity_unidirectionalColoring__1,
+         sparsity_unidirectionalColoring__2,
+         sparsity_unit,
+         sparsity_upper,
+         sparsity_zz_blockcat,
+         sparsity_zz_blocksplit,
+         sparsity_zz_diagcat,
+         sparsity_zz_diagsplit,
+         sparsity_zz_horzcat,
+         sparsity_zz_horzsplit,
+         sparsity_zz_mtimes__0,
+         sparsity_zz_mtimes__1,
+         sparsity_zz_reshape__0,
+         sparsity_zz_reshape__1,
+         sparsity_zz_sprank,
+         sparsity_zz_tril__0,
+         sparsity_zz_tril__1,
+         sparsity_zz_triu__0,
+         sparsity_zz_triu__1,
+         sparsity_zz_vec,
+         sparsity_zz_vecNZ,
+         sparsity_zz_vecNZcat,
+         sparsity_zz_veccat,
+         sparsity_zz_vertcat,
+         sparsity_zz_vertsplit,
+       ) where
+
+
+import Prelude hiding ( Functor )
+
+import Data.Vector ( Vector )
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+import Foreign.ForeignPtr ( newForeignPtr )
+import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
+
+import Casadi.Internal.CToolsInstances ( )
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( Marshal(..), withMarshal )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+import Casadi.Core.Enums
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__0" c_casadi__Sparsity__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__CONSTRUCTOR__0
+  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__CONSTRUCTOR__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity__0 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
+sparsity__0 = casadi__Sparsity__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__1" c_casadi__Sparsity__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
+casadi__Sparsity__CONSTRUCTOR__1
+  :: IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__1  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__CONSTRUCTOR__1 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity__1 :: IO Sparsity
+sparsity__1 = casadi__Sparsity__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__2" c_casadi__Sparsity__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__CONSTRUCTOR__2
+  :: Int -> IO Sparsity
+casadi__Sparsity__CONSTRUCTOR__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__CONSTRUCTOR__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity__2 :: Int -> IO Sparsity
+sparsity__2 = casadi__Sparsity__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__T" c_casadi__Sparsity__T
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__T
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__T x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__T errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_T :: SparsityClass a => a -> IO Sparsity
+sparsity_T x = casadi__Sparsity__T (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__addNZ" c_casadi__Sparsity__addNZ
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
+casadi__Sparsity__addNZ
+  :: Sparsity -> Int -> Int -> IO Int
+casadi__Sparsity__addNZ x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__addNZ errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_addNZ :: SparsityClass a => a -> Int -> Int -> IO Int
+sparsity_addNZ x = casadi__Sparsity__addNZ (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__append" c_casadi__Sparsity__append
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO ()
+casadi__Sparsity__append
+  :: Sparsity -> Sparsity -> IO ()
+casadi__Sparsity__append x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__append errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_append :: SparsityClass a => a -> Sparsity -> IO ()
+sparsity_append x = casadi__Sparsity__append (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__appendColumns" c_casadi__Sparsity__appendColumns
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO ()
+casadi__Sparsity__appendColumns
+  :: Sparsity -> Sparsity -> IO ()
+casadi__Sparsity__appendColumns x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__appendColumns errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_appendColumns :: SparsityClass a => a -> Sparsity -> IO ()
+sparsity_appendColumns x = casadi__Sparsity__appendColumns (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__band" c_casadi__Sparsity__band
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__band
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__band x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__band errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_band :: Int -> Int -> IO Sparsity
+sparsity_band = casadi__Sparsity__band
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__banded" c_casadi__Sparsity__banded
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__banded
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__banded x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__banded errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_banded :: Int -> Int -> IO Sparsity
+sparsity_banded = casadi__Sparsity__banded
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__bandwidthL" c_casadi__Sparsity__bandwidthL
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__bandwidthL
+  :: Sparsity -> IO Int
+casadi__Sparsity__bandwidthL x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__bandwidthL errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_bandwidthL :: SparsityClass a => a -> IO Int
+sparsity_bandwidthL x = casadi__Sparsity__bandwidthL (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__bandwidthU" c_casadi__Sparsity__bandwidthU
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__bandwidthU
+  :: Sparsity -> IO Int
+casadi__Sparsity__bandwidthU x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__bandwidthU errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_bandwidthU :: SparsityClass a => a -> IO Int
+sparsity_bandwidthU x = casadi__Sparsity__bandwidthU (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__clearCache" c_casadi__Sparsity__clearCache
+  :: Ptr (Ptr StdString) -> IO ()
+casadi__Sparsity__clearCache
+  :: IO ()
+casadi__Sparsity__clearCache  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__clearCache errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_clearCache :: IO ()
+sparsity_clearCache = casadi__Sparsity__clearCache
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__colind__0" c_casadi__Sparsity__colind__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
+casadi__Sparsity__colind__0
+  :: Sparsity -> Int -> IO Int
+casadi__Sparsity__colind__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__colind__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_colind__0 :: SparsityClass a => a -> Int -> IO Int
+sparsity_colind__0 x = casadi__Sparsity__colind__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__colind__1" c_casadi__Sparsity__colind__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__colind__1
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__colind__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__colind__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_colind__1 :: SparsityClass a => a -> IO (Vector Int)
+sparsity_colind__1 x = casadi__Sparsity__colind__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__compress" c_casadi__Sparsity__compress
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__compress
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__compress x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__compress errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_compress :: SparsityClass a => a -> IO (Vector Int)
+sparsity_compress x = casadi__Sparsity__compress (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__compressed" c_casadi__Sparsity__compressed
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__compressed
+  :: Vector Int -> IO Sparsity
+casadi__Sparsity__compressed x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__compressed errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_compressed :: Vector Int -> IO Sparsity
+sparsity_compressed = casadi__Sparsity__compressed
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dense__0" c_casadi__Sparsity__dense__0
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__dense__0
+  :: Int -> IO Sparsity
+casadi__Sparsity__dense__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__dense__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_dense__0 :: Int -> IO Sparsity
+sparsity_dense__0 = casadi__Sparsity__dense__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dense__1" c_casadi__Sparsity__dense__1
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__dense__1
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__dense__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__dense__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_dense__1 :: Int -> Int -> IO Sparsity
+sparsity_dense__1 = casadi__Sparsity__dense__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__depthFirstSearch" c_casadi__Sparsity__depthFirstSearch
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
+casadi__Sparsity__depthFirstSearch
+  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
+casadi__Sparsity__depthFirstSearch x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__depthFirstSearch errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_depthFirstSearch :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
+sparsity_depthFirstSearch x = casadi__Sparsity__depthFirstSearch (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__diag__0" c_casadi__Sparsity__diag__0
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__diag__0
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__diag__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__diag__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_diag__0 :: Int -> Int -> IO Sparsity
+sparsity_diag__0 = casadi__Sparsity__diag__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__diag__1" c_casadi__Sparsity__diag__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__diag__1
+  :: Int -> IO Sparsity
+casadi__Sparsity__diag__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__diag__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_diag__1 :: Int -> IO Sparsity
+sparsity_diag__1 = casadi__Sparsity__diag__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dimString" c_casadi__Sparsity__dimString
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr StdString)
+casadi__Sparsity__dimString
+  :: Sparsity -> IO String
+casadi__Sparsity__dimString x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__dimString errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_dimString :: SparsityClass a => a -> IO String
+sparsity_dimString x = casadi__Sparsity__dimString (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dulmageMendelsohn__0" c_casadi__Sparsity__dulmageMendelsohn__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
+casadi__Sparsity__dulmageMendelsohn__0
+  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO Int
+casadi__Sparsity__dulmageMendelsohn__0 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__dulmageMendelsohn__0 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_dulmageMendelsohn__0 :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO Int
+sparsity_dulmageMendelsohn__0 x = casadi__Sparsity__dulmageMendelsohn__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__dulmageMendelsohn__1" c_casadi__Sparsity__dulmageMendelsohn__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO CInt
+casadi__Sparsity__dulmageMendelsohn__1
+  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Int -> IO Int
+casadi__Sparsity__dulmageMendelsohn__1 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__dulmageMendelsohn__1 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_dulmageMendelsohn__1 :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Int -> IO Int
+sparsity_dulmageMendelsohn__1 x = casadi__Sparsity__dulmageMendelsohn__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__eliminationTree__0" c_casadi__Sparsity__eliminationTree__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__eliminationTree__0
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__eliminationTree__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__eliminationTree__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_eliminationTree__0 :: SparsityClass a => a -> IO (Vector Int)
+sparsity_eliminationTree__0 x = casadi__Sparsity__eliminationTree__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__eliminationTree__1" c_casadi__Sparsity__eliminationTree__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__eliminationTree__1
+  :: Sparsity -> Bool -> IO (Vector Int)
+casadi__Sparsity__eliminationTree__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__eliminationTree__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_eliminationTree__1 :: SparsityClass a => a -> Bool -> IO (Vector Int)
+sparsity_eliminationTree__1 x = casadi__Sparsity__eliminationTree__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlarge__0" c_casadi__Sparsity__enlarge__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__Sparsity__enlarge__0
+  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+casadi__Sparsity__enlarge__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__enlarge__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_enlarge__0 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
+sparsity_enlarge__0 x = casadi__Sparsity__enlarge__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlarge__1" c_casadi__Sparsity__enlarge__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__Sparsity__enlarge__1
+  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+casadi__Sparsity__enlarge__1 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__enlarge__1 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_enlarge__1 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Bool -> IO ()
+sparsity_enlarge__1 x = casadi__Sparsity__enlarge__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlargeColumns__0" c_casadi__Sparsity__enlargeColumns__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> IO ()
+casadi__Sparsity__enlargeColumns__0
+  :: Sparsity -> Int -> Vector Int -> IO ()
+casadi__Sparsity__enlargeColumns__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__enlargeColumns__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_enlargeColumns__0 :: SparsityClass a => a -> Int -> Vector Int -> IO ()
+sparsity_enlargeColumns__0 x = casadi__Sparsity__enlargeColumns__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlargeColumns__1" c_casadi__Sparsity__enlargeColumns__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__Sparsity__enlargeColumns__1
+  :: Sparsity -> Int -> Vector Int -> Bool -> IO ()
+casadi__Sparsity__enlargeColumns__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__enlargeColumns__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_enlargeColumns__1 :: SparsityClass a => a -> Int -> Vector Int -> Bool -> IO ()
+sparsity_enlargeColumns__1 x = casadi__Sparsity__enlargeColumns__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlargeRows__0" c_casadi__Sparsity__enlargeRows__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> IO ()
+casadi__Sparsity__enlargeRows__0
+  :: Sparsity -> Int -> Vector Int -> IO ()
+casadi__Sparsity__enlargeRows__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__enlargeRows__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_enlargeRows__0 :: SparsityClass a => a -> Int -> Vector Int -> IO ()
+sparsity_enlargeRows__0 x = casadi__Sparsity__enlargeRows__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__enlargeRows__1" c_casadi__Sparsity__enlargeRows__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> Ptr (StdVec CInt) -> CInt -> IO ()
+casadi__Sparsity__enlargeRows__1
+  :: Sparsity -> Int -> Vector Int -> Bool -> IO ()
+casadi__Sparsity__enlargeRows__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__enlargeRows__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_enlargeRows__1 :: SparsityClass a => a -> Int -> Vector Int -> Bool -> IO ()
+sparsity_enlargeRows__1 x = casadi__Sparsity__enlargeRows__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__erase__0" c_casadi__Sparsity__erase__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__erase__0
+  :: Sparsity -> Vector Int -> IO (Vector Int)
+casadi__Sparsity__erase__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__erase__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_erase__0 :: SparsityClass a => a -> Vector Int -> IO (Vector Int)
+sparsity_erase__0 x = casadi__Sparsity__erase__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__erase__1" c_casadi__Sparsity__erase__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__erase__1
+  :: Sparsity -> Vector Int -> Bool -> IO (Vector Int)
+casadi__Sparsity__erase__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__erase__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_erase__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO (Vector Int)
+sparsity_erase__1 x = casadi__Sparsity__erase__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__erase__2" c_casadi__Sparsity__erase__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__erase__2
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
+casadi__Sparsity__erase__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__erase__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_erase__2 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
+sparsity_erase__2 x = casadi__Sparsity__erase__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__erase__3" c_casadi__Sparsity__erase__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__erase__3
+  :: Sparsity -> Vector Int -> Vector Int -> Bool -> IO (Vector Int)
+casadi__Sparsity__erase__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__erase__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_erase__3 :: SparsityClass a => a -> Vector Int -> Vector Int -> Bool -> IO (Vector Int)
+sparsity_erase__3 x = casadi__Sparsity__erase__3 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__find__0" c_casadi__Sparsity__find__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__find__0
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__find__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__find__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_find__0 :: SparsityClass a => a -> IO (Vector Int)
+sparsity_find__0 x = casadi__Sparsity__find__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__find__1" c_casadi__Sparsity__find__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__find__1
+  :: Sparsity -> Bool -> IO (Vector Int)
+casadi__Sparsity__find__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__find__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_find__1 :: SparsityClass a => a -> Bool -> IO (Vector Int)
+sparsity_find__1 x = casadi__Sparsity__find__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getCCS" c_casadi__Sparsity__getCCS
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__Sparsity__getCCS
+  :: Sparsity -> Vector Int -> Vector Int -> IO ()
+casadi__Sparsity__getCCS x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getCCS errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getCCS :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
+sparsity_getCCS x = casadi__Sparsity__getCCS (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getCRS" c_casadi__Sparsity__getCRS
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__Sparsity__getCRS
+  :: Sparsity -> Vector Int -> Vector Int -> IO ()
+casadi__Sparsity__getCRS x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getCRS errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getCRS :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
+sparsity_getCRS x = casadi__Sparsity__getCRS (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getCol" c_casadi__Sparsity__getCol
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__getCol
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__getCol x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getCol errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getCol :: SparsityClass a => a -> IO (Vector Int)
+sparsity_getCol x = casadi__Sparsity__getCol (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getDiag" c_casadi__Sparsity__getDiag
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__getDiag
+  :: Sparsity -> Vector Int -> IO Sparsity
+casadi__Sparsity__getDiag x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getDiag errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getDiag :: SparsityClass a => a -> Vector Int -> IO Sparsity
+sparsity_getDiag x = casadi__Sparsity__getDiag (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getLowerNZ" c_casadi__Sparsity__getLowerNZ
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__getLowerNZ
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__getLowerNZ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getLowerNZ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getLowerNZ :: SparsityClass a => a -> IO (Vector Int)
+sparsity_getLowerNZ x = casadi__Sparsity__getLowerNZ (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getNZ__0" c_casadi__Sparsity__getNZ__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO ()
+casadi__Sparsity__getNZ__0
+  :: Sparsity -> Vector Int -> IO ()
+casadi__Sparsity__getNZ__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getNZ__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getNZ__0 :: SparsityClass a => a -> Vector Int -> IO ()
+sparsity_getNZ__0 x = casadi__Sparsity__getNZ__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getNZ__1" c_casadi__Sparsity__getNZ__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__getNZ__1
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
+casadi__Sparsity__getNZ__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getNZ__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getNZ__1 :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
+sparsity_getNZ__1 x = casadi__Sparsity__getNZ__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getNZ__2" c_casadi__Sparsity__getNZ__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
+casadi__Sparsity__getNZ__2
+  :: Sparsity -> Int -> Int -> IO Int
+casadi__Sparsity__getNZ__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getNZ__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getNZ__2 :: SparsityClass a => a -> Int -> Int -> IO Int
+sparsity_getNZ__2 x = casadi__Sparsity__getNZ__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getTriplet" c_casadi__Sparsity__getTriplet
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
+casadi__Sparsity__getTriplet
+  :: Sparsity -> Vector Int -> Vector Int -> IO ()
+casadi__Sparsity__getTriplet x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getTriplet errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getTriplet :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
+sparsity_getTriplet x = casadi__Sparsity__getTriplet (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__getUpperNZ" c_casadi__Sparsity__getUpperNZ
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__getUpperNZ
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__getUpperNZ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__getUpperNZ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_getUpperNZ :: SparsityClass a => a -> IO (Vector Int)
+sparsity_getUpperNZ x = casadi__Sparsity__getUpperNZ (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__hasNZ" c_casadi__Sparsity__hasNZ
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO CInt
+casadi__Sparsity__hasNZ
+  :: Sparsity -> Int -> Int -> IO Bool
+casadi__Sparsity__hasNZ x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__hasNZ errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_hasNZ :: SparsityClass a => a -> Int -> Int -> IO Bool
+sparsity_hasNZ x = casadi__Sparsity__hasNZ (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__hash" c_casadi__Sparsity__hash
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CSize
+casadi__Sparsity__hash
+  :: Sparsity -> IO CSize
+casadi__Sparsity__hash x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__hash errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_hash :: SparsityClass a => a -> IO CSize
+sparsity_hash x = casadi__Sparsity__hash (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isDense" c_casadi__Sparsity__isDense
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isDense
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isDense x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isDense errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isDense :: SparsityClass a => a -> IO Bool
+sparsity_isDense x = casadi__Sparsity__isDense (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isDiagonal" c_casadi__Sparsity__isDiagonal
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isDiagonal
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isDiagonal x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isDiagonal errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isDiagonal :: SparsityClass a => a -> IO Bool
+sparsity_isDiagonal x = casadi__Sparsity__isDiagonal (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isEmpty__0" c_casadi__Sparsity__isEmpty__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isEmpty__0
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isEmpty__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isEmpty__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isEmpty__0 :: SparsityClass a => a -> IO Bool
+sparsity_isEmpty__0 x = casadi__Sparsity__isEmpty__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isEmpty__1" c_casadi__Sparsity__isEmpty__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
+casadi__Sparsity__isEmpty__1
+  :: Sparsity -> Bool -> IO Bool
+casadi__Sparsity__isEmpty__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isEmpty__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isEmpty__1 :: SparsityClass a => a -> Bool -> IO Bool
+sparsity_isEmpty__1 x = casadi__Sparsity__isEmpty__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isEqual__0" c_casadi__Sparsity__isEqual__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
+casadi__Sparsity__isEqual__0
+  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
+casadi__Sparsity__isEqual__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isEqual__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isEqual__0 :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
+sparsity_isEqual__0 x = casadi__Sparsity__isEqual__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isEqual__1" c_casadi__Sparsity__isEqual__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isEqual__1
+  :: Sparsity -> Sparsity -> IO Bool
+casadi__Sparsity__isEqual__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isEqual__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isEqual__1 :: SparsityClass a => a -> Sparsity -> IO Bool
+sparsity_isEqual__1 x = casadi__Sparsity__isEqual__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isReshape" c_casadi__Sparsity__isReshape
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isReshape
+  :: Sparsity -> Sparsity -> IO Bool
+casadi__Sparsity__isReshape x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isReshape errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isReshape :: SparsityClass a => a -> Sparsity -> IO Bool
+sparsity_isReshape x = casadi__Sparsity__isReshape (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isScalar__0" c_casadi__Sparsity__isScalar__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isScalar__0
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isScalar__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isScalar__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isScalar__0 :: SparsityClass a => a -> IO Bool
+sparsity_isScalar__0 x = casadi__Sparsity__isScalar__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isScalar__1" c_casadi__Sparsity__isScalar__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
+casadi__Sparsity__isScalar__1
+  :: Sparsity -> Bool -> IO Bool
+casadi__Sparsity__isScalar__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isScalar__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isScalar__1 :: SparsityClass a => a -> Bool -> IO Bool
+sparsity_isScalar__1 x = casadi__Sparsity__isScalar__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isSingular" c_casadi__Sparsity__isSingular
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isSingular
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isSingular x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isSingular errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isSingular :: SparsityClass a => a -> IO Bool
+sparsity_isSingular x = casadi__Sparsity__isSingular (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isSquare" c_casadi__Sparsity__isSquare
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isSquare
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isSquare x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isSquare errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isSquare :: SparsityClass a => a -> IO Bool
+sparsity_isSquare x = casadi__Sparsity__isSquare (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isSymmetric" c_casadi__Sparsity__isSymmetric
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isSymmetric
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isSymmetric x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isSymmetric errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isSymmetric :: SparsityClass a => a -> IO Bool
+sparsity_isSymmetric x = casadi__Sparsity__isSymmetric (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isTranspose" c_casadi__Sparsity__isTranspose
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isTranspose
+  :: Sparsity -> Sparsity -> IO Bool
+casadi__Sparsity__isTranspose x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isTranspose errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isTranspose :: SparsityClass a => a -> Sparsity -> IO Bool
+sparsity_isTranspose x = casadi__Sparsity__isTranspose (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isTril" c_casadi__Sparsity__isTril
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isTril
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isTril x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isTril errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isTril :: SparsityClass a => a -> IO Bool
+sparsity_isTril x = casadi__Sparsity__isTril (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isTriu" c_casadi__Sparsity__isTriu
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isTriu
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isTriu x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isTriu errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isTriu :: SparsityClass a => a -> IO Bool
+sparsity_isTriu x = casadi__Sparsity__isTriu (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__isVector" c_casadi__Sparsity__isVector
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__isVector
+  :: Sparsity -> IO Bool
+casadi__Sparsity__isVector x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__isVector errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_isVector :: SparsityClass a => a -> IO Bool
+sparsity_isVector x = casadi__Sparsity__isVector (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__largestFirstOrdering" c_casadi__Sparsity__largestFirstOrdering
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__largestFirstOrdering
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__largestFirstOrdering x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__largestFirstOrdering errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_largestFirstOrdering :: SparsityClass a => a -> IO (Vector Int)
+sparsity_largestFirstOrdering x = casadi__Sparsity__largestFirstOrdering (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__lower" c_casadi__Sparsity__lower
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__lower
+  :: Int -> IO Sparsity
+casadi__Sparsity__lower x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__lower errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_lower :: Int -> IO Sparsity
+sparsity_lower = casadi__Sparsity__lower
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__makeDense" c_casadi__Sparsity__makeDense
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__makeDense
+  :: Sparsity -> Vector Int -> IO Sparsity
+casadi__Sparsity__makeDense x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__makeDense errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_makeDense :: SparsityClass a => a -> Vector Int -> IO Sparsity
+sparsity_makeDense x = casadi__Sparsity__makeDense (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__numel" c_casadi__Sparsity__numel
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__numel
+  :: Sparsity -> IO Int
+casadi__Sparsity__numel x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__numel errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_numel :: SparsityClass a => a -> IO Int
+sparsity_numel x = casadi__Sparsity__numel (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__patternCombine__0" c_casadi__Sparsity__patternCombine__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__patternCombine__0
+  :: Sparsity -> Sparsity -> Bool -> Bool -> IO Sparsity
+casadi__Sparsity__patternCombine__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__patternCombine__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_patternCombine__0 :: SparsityClass a => a -> Sparsity -> Bool -> Bool -> IO Sparsity
+sparsity_patternCombine__0 x = casadi__Sparsity__patternCombine__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__patternCombine__1" c_casadi__Sparsity__patternCombine__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> Ptr (StdVec CUChar) -> IO (Ptr Sparsity')
+casadi__Sparsity__patternCombine__1
+  :: Sparsity -> Sparsity -> Bool -> Bool -> Vector CUChar -> IO Sparsity
+casadi__Sparsity__patternCombine__1 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__patternCombine__1 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_patternCombine__1 :: SparsityClass a => a -> Sparsity -> Bool -> Bool -> Vector CUChar -> IO Sparsity
+sparsity_patternCombine__1 x = casadi__Sparsity__patternCombine__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__patternIntersection__0" c_casadi__Sparsity__patternIntersection__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__patternIntersection__0
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__patternIntersection__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__patternIntersection__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_patternIntersection__0 :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_patternIntersection__0 x = casadi__Sparsity__patternIntersection__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__patternIntersection__1" c_casadi__Sparsity__patternIntersection__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr (StdVec CUChar) -> IO (Ptr Sparsity')
+casadi__Sparsity__patternIntersection__1
+  :: Sparsity -> Sparsity -> Vector CUChar -> IO Sparsity
+casadi__Sparsity__patternIntersection__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__patternIntersection__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_patternIntersection__1 :: SparsityClass a => a -> Sparsity -> Vector CUChar -> IO Sparsity
+sparsity_patternIntersection__1 x = casadi__Sparsity__patternIntersection__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__patternInverse" c_casadi__Sparsity__patternInverse
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__patternInverse
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__patternInverse x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__patternInverse errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_patternInverse :: SparsityClass a => a -> IO Sparsity
+sparsity_patternInverse x = casadi__Sparsity__patternInverse (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__patternProduct" c_casadi__Sparsity__patternProduct
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__patternProduct
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__patternProduct x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__patternProduct errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_patternProduct :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_patternProduct x = casadi__Sparsity__patternProduct (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__patternUnion__0" c_casadi__Sparsity__patternUnion__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__patternUnion__0
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__patternUnion__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__patternUnion__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_patternUnion__0 :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_patternUnion__0 x = casadi__Sparsity__patternUnion__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__patternUnion__1" c_casadi__Sparsity__patternUnion__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr (StdVec CUChar) -> IO (Ptr Sparsity')
+casadi__Sparsity__patternUnion__1
+  :: Sparsity -> Sparsity -> Vector CUChar -> IO Sparsity
+casadi__Sparsity__patternUnion__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__patternUnion__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_patternUnion__1 :: SparsityClass a => a -> Sparsity -> Vector CUChar -> IO Sparsity
+sparsity_patternUnion__1 x = casadi__Sparsity__patternUnion__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pmult__0" c_casadi__Sparsity__pmult__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__pmult__0
+  :: Sparsity -> Vector Int -> IO Sparsity
+casadi__Sparsity__pmult__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__pmult__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_pmult__0 :: SparsityClass a => a -> Vector Int -> IO Sparsity
+sparsity_pmult__0 x = casadi__Sparsity__pmult__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pmult__1" c_casadi__Sparsity__pmult__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__pmult__1
+  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__pmult__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__pmult__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_pmult__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
+sparsity_pmult__1 x = casadi__Sparsity__pmult__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pmult__2" c_casadi__Sparsity__pmult__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__pmult__2
+  :: Sparsity -> Vector Int -> Bool -> Bool -> IO Sparsity
+casadi__Sparsity__pmult__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__pmult__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_pmult__2 :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> IO Sparsity
+sparsity_pmult__2 x = casadi__Sparsity__pmult__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__pmult__3" c_casadi__Sparsity__pmult__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__pmult__3
+  :: Sparsity -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
+casadi__Sparsity__pmult__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__pmult__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_pmult__3 :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
+sparsity_pmult__3 x = casadi__Sparsity__pmult__3 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__printCompact" c_casadi__Sparsity__printCompact
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
+casadi__Sparsity__printCompact
+  :: Sparsity -> IO ()
+casadi__Sparsity__printCompact x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__printCompact errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_printCompact :: SparsityClass a => a -> IO ()
+sparsity_printCompact x = casadi__Sparsity__printCompact (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__reCache" c_casadi__Sparsity__reCache
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
+casadi__Sparsity__reCache
+  :: Sparsity -> IO ()
+casadi__Sparsity__reCache x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__reCache errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_reCache :: SparsityClass a => a -> IO ()
+sparsity_reCache x = casadi__Sparsity__reCache (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__removeDuplicates" c_casadi__Sparsity__removeDuplicates
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO ()
+casadi__Sparsity__removeDuplicates
+  :: Sparsity -> Vector Int -> IO ()
+casadi__Sparsity__removeDuplicates x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__removeDuplicates errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_removeDuplicates :: SparsityClass a => a -> Vector Int -> IO ()
+sparsity_removeDuplicates x = casadi__Sparsity__removeDuplicates (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__reserve" c_casadi__Sparsity__reserve
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO ()
+casadi__Sparsity__reserve
+  :: Sparsity -> Int -> Int -> IO ()
+casadi__Sparsity__reserve x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__reserve errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_reserve :: SparsityClass a => a -> Int -> Int -> IO ()
+sparsity_reserve x = casadi__Sparsity__reserve (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__resize" c_casadi__Sparsity__resize
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO ()
+casadi__Sparsity__resize
+  :: Sparsity -> Int -> Int -> IO ()
+casadi__Sparsity__resize x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__resize errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_resize :: SparsityClass a => a -> Int -> Int -> IO ()
+sparsity_resize x = casadi__Sparsity__resize (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__row__0" c_casadi__Sparsity__row__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
+casadi__Sparsity__row__0
+  :: Sparsity -> Int -> IO Int
+casadi__Sparsity__row__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__row__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_row__0 :: SparsityClass a => a -> Int -> IO Int
+sparsity_row__0 x = casadi__Sparsity__row__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__row__1" c_casadi__Sparsity__row__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec CInt))
+casadi__Sparsity__row__1
+  :: Sparsity -> IO (Vector Int)
+casadi__Sparsity__row__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__row__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_row__1 :: SparsityClass a => a -> IO (Vector Int)
+sparsity_row__1 x = casadi__Sparsity__row__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__rowcol" c_casadi__Sparsity__rowcol
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__rowcol
+  :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
+casadi__Sparsity__rowcol x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__rowcol errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_rowcol :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
+sparsity_rowcol = casadi__Sparsity__rowcol
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__rowsSequential__0" c_casadi__Sparsity__rowsSequential__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__rowsSequential__0
+  :: Sparsity -> IO Bool
+casadi__Sparsity__rowsSequential__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__rowsSequential__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_rowsSequential__0 :: SparsityClass a => a -> IO Bool
+sparsity_rowsSequential__0 x = casadi__Sparsity__rowsSequential__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__rowsSequential__1" c_casadi__Sparsity__rowsSequential__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO CInt
+casadi__Sparsity__rowsSequential__1
+  :: Sparsity -> Bool -> IO Bool
+casadi__Sparsity__rowsSequential__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__rowsSequential__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_rowsSequential__1 :: SparsityClass a => a -> Bool -> IO Bool
+sparsity_rowsSequential__1 x = casadi__Sparsity__rowsSequential__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sanityCheck__0" c_casadi__Sparsity__sanityCheck__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
+casadi__Sparsity__sanityCheck__0
+  :: Sparsity -> IO ()
+casadi__Sparsity__sanityCheck__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sanityCheck__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sanityCheck__0 :: SparsityClass a => a -> IO ()
+sparsity_sanityCheck__0 x = casadi__Sparsity__sanityCheck__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sanityCheck__1" c_casadi__Sparsity__sanityCheck__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO ()
+casadi__Sparsity__sanityCheck__1
+  :: Sparsity -> Bool -> IO ()
+casadi__Sparsity__sanityCheck__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sanityCheck__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sanityCheck__1 :: SparsityClass a => a -> Bool -> IO ()
+sparsity_sanityCheck__1 x = casadi__Sparsity__sanityCheck__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__scalar__0" c_casadi__Sparsity__scalar__0
+  :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
+casadi__Sparsity__scalar__0
+  :: IO Sparsity
+casadi__Sparsity__scalar__0  =
+
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__scalar__0 errStrPtrP 
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_scalar__0 :: IO Sparsity
+sparsity_scalar__0 = casadi__Sparsity__scalar__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__scalar__1" c_casadi__Sparsity__scalar__1
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__scalar__1
+  :: Bool -> IO Sparsity
+casadi__Sparsity__scalar__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__scalar__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_scalar__1 :: Bool -> IO Sparsity
+sparsity_scalar__1 = casadi__Sparsity__scalar__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__size" c_casadi__Sparsity__size
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__size
+  :: Sparsity -> IO Int
+casadi__Sparsity__size x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__size errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_size :: SparsityClass a => a -> IO Int
+sparsity_size x = casadi__Sparsity__size (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__size1" c_casadi__Sparsity__size1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__size1
+  :: Sparsity -> IO Int
+casadi__Sparsity__size1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__size1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_size1 :: SparsityClass a => a -> IO Int
+sparsity_size1 x = casadi__Sparsity__size1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__size2" c_casadi__Sparsity__size2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__size2
+  :: Sparsity -> IO Int
+casadi__Sparsity__size2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__size2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_size2 :: SparsityClass a => a -> IO Int
+sparsity_size2 x = casadi__Sparsity__size2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sizeD" c_casadi__Sparsity__sizeD
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__sizeD
+  :: Sparsity -> IO Int
+casadi__Sparsity__sizeD x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sizeD errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sizeD :: SparsityClass a => a -> IO Int
+sparsity_sizeD x = casadi__Sparsity__sizeD (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sizeL" c_casadi__Sparsity__sizeL
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__sizeL
+  :: Sparsity -> IO Int
+casadi__Sparsity__sizeL x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sizeL errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sizeL :: SparsityClass a => a -> IO Int
+sparsity_sizeL x = casadi__Sparsity__sizeL (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sizeU" c_casadi__Sparsity__sizeU
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__sizeU
+  :: Sparsity -> IO Int
+casadi__Sparsity__sizeU x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sizeU errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sizeU :: SparsityClass a => a -> IO Int
+sparsity_sizeU x = casadi__Sparsity__sizeU (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sparse__0" c_casadi__Sparsity__sparse__0
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__sparse__0
+  :: Int -> IO Sparsity
+casadi__Sparsity__sparse__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sparse__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sparse__0 :: Int -> IO Sparsity
+sparsity_sparse__0 = casadi__Sparsity__sparse__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sparse__1" c_casadi__Sparsity__sparse__1
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__sparse__1
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__sparse__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sparse__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sparse__1 :: Int -> Int -> IO Sparsity
+sparsity_sparse__1 = casadi__Sparsity__sparse__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__spy" c_casadi__Sparsity__spy
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO ()
+casadi__Sparsity__spy
+  :: Sparsity -> IO ()
+casadi__Sparsity__spy x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__spy errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_spy :: SparsityClass a => a -> IO ()
+sparsity_spy x = casadi__Sparsity__spy (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__spyMatlab" c_casadi__Sparsity__spyMatlab
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr StdString -> IO ()
+casadi__Sparsity__spyMatlab
+  :: Sparsity -> String -> IO ()
+casadi__Sparsity__spyMatlab x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__spyMatlab errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_spyMatlab :: SparsityClass a => a -> String -> IO ()
+sparsity_spyMatlab x = casadi__Sparsity__spyMatlab (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__starColoring__0" c_casadi__Sparsity__starColoring__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__starColoring__0
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__starColoring__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__starColoring__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_starColoring__0 :: SparsityClass a => a -> IO Sparsity
+sparsity_starColoring__0 x = casadi__Sparsity__starColoring__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__starColoring__1" c_casadi__Sparsity__starColoring__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__starColoring__1
+  :: Sparsity -> Int -> IO Sparsity
+casadi__Sparsity__starColoring__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__starColoring__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_starColoring__1 :: SparsityClass a => a -> Int -> IO Sparsity
+sparsity_starColoring__1 x = casadi__Sparsity__starColoring__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__starColoring__2" c_casadi__Sparsity__starColoring__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__starColoring__2
+  :: Sparsity -> Int -> Int -> IO Sparsity
+casadi__Sparsity__starColoring__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__starColoring__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_starColoring__2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
+sparsity_starColoring__2 x = casadi__Sparsity__starColoring__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__starColoring2__0" c_casadi__Sparsity__starColoring2__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__starColoring2__0
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__starColoring2__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__starColoring2__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_starColoring2__0 :: SparsityClass a => a -> IO Sparsity
+sparsity_starColoring2__0 x = casadi__Sparsity__starColoring2__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__starColoring2__1" c_casadi__Sparsity__starColoring2__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__starColoring2__1
+  :: Sparsity -> Int -> IO Sparsity
+casadi__Sparsity__starColoring2__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__starColoring2__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_starColoring2__1 :: SparsityClass a => a -> Int -> IO Sparsity
+sparsity_starColoring2__1 x = casadi__Sparsity__starColoring2__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__starColoring2__2" c_casadi__Sparsity__starColoring2__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__starColoring2__2
+  :: Sparsity -> Int -> Int -> IO Sparsity
+casadi__Sparsity__starColoring2__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__starColoring2__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_starColoring2__2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
+sparsity_starColoring2__2 x = casadi__Sparsity__starColoring2__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__stronglyConnectedComponents" c_casadi__Sparsity__stronglyConnectedComponents
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
+casadi__Sparsity__stronglyConnectedComponents
+  :: Sparsity -> Vector Int -> Vector Int -> IO Int
+casadi__Sparsity__stronglyConnectedComponents x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__stronglyConnectedComponents errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_stronglyConnectedComponents :: SparsityClass a => a -> Vector Int -> Vector Int -> IO Int
+sparsity_stronglyConnectedComponents x = casadi__Sparsity__stronglyConnectedComponents (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sub__0" c_casadi__Sparsity__sub__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__sub__0
+  :: Sparsity -> Vector Int -> Sparsity -> Vector Int -> IO Sparsity
+casadi__Sparsity__sub__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sub__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sub__0 :: SparsityClass a => a -> Vector Int -> Sparsity -> Vector Int -> IO Sparsity
+sparsity_sub__0 x = casadi__Sparsity__sub__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sub__1" c_casadi__Sparsity__sub__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__sub__1
+  :: Sparsity -> Vector Int -> Sparsity -> Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__sub__1 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sub__1 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sub__1 :: SparsityClass a => a -> Vector Int -> Sparsity -> Vector Int -> Bool -> IO Sparsity
+sparsity_sub__1 x = casadi__Sparsity__sub__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sub__2" c_casadi__Sparsity__sub__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__sub__2
+  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
+casadi__Sparsity__sub__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sub__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sub__2 :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
+sparsity_sub__2 x = casadi__Sparsity__sub__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__sub__3" c_casadi__Sparsity__sub__3
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__sub__3
+  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__sub__3 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__sub__3 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_sub__3 :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
+sparsity_sub__3 x = casadi__Sparsity__sub__3 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__transpose__0" c_casadi__Sparsity__transpose__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__transpose__0
+  :: Sparsity -> Vector Int -> IO Sparsity
+casadi__Sparsity__transpose__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__transpose__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_transpose__0 :: SparsityClass a => a -> Vector Int -> IO Sparsity
+sparsity_transpose__0 x = casadi__Sparsity__transpose__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__transpose__1" c_casadi__Sparsity__transpose__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__transpose__1
+  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__transpose__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__transpose__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_transpose__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
+sparsity_transpose__1 x = casadi__Sparsity__transpose__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__triplet__0" c_casadi__Sparsity__triplet__0
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__triplet__0
+  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
+casadi__Sparsity__triplet__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__triplet__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_triplet__0 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
+sparsity_triplet__0 = casadi__Sparsity__triplet__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__triplet__1" c_casadi__Sparsity__triplet__1
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+casadi__Sparsity__triplet__1
+  :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
+casadi__Sparsity__triplet__1 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__triplet__1 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_triplet__1 :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
+sparsity_triplet__1 = casadi__Sparsity__triplet__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__triplet__2" c_casadi__Sparsity__triplet__2
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__triplet__2
+  :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
+casadi__Sparsity__triplet__2 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__triplet__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_triplet__2 :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
+sparsity_triplet__2 = casadi__Sparsity__triplet__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__unidirectionalColoring__0" c_casadi__Sparsity__unidirectionalColoring__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__unidirectionalColoring__0
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__unidirectionalColoring__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__unidirectionalColoring__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_unidirectionalColoring__0 :: SparsityClass a => a -> IO Sparsity
+sparsity_unidirectionalColoring__0 x = casadi__Sparsity__unidirectionalColoring__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__unidirectionalColoring__1" c_casadi__Sparsity__unidirectionalColoring__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__unidirectionalColoring__1
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__unidirectionalColoring__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__unidirectionalColoring__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_unidirectionalColoring__1 :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_unidirectionalColoring__1 x = casadi__Sparsity__unidirectionalColoring__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__unidirectionalColoring__2" c_casadi__Sparsity__unidirectionalColoring__2
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__unidirectionalColoring__2
+  :: Sparsity -> Sparsity -> Int -> IO Sparsity
+casadi__Sparsity__unidirectionalColoring__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__unidirectionalColoring__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_unidirectionalColoring__2 :: SparsityClass a => a -> Sparsity -> Int -> IO Sparsity
+sparsity_unidirectionalColoring__2 x = casadi__Sparsity__unidirectionalColoring__2 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__unit" c_casadi__Sparsity__unit
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__unit
+  :: Int -> Int -> IO Sparsity
+casadi__Sparsity__unit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__unit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_unit :: Int -> Int -> IO Sparsity
+sparsity_unit = casadi__Sparsity__unit
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__upper" c_casadi__Sparsity__upper
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__upper
+  :: Int -> IO Sparsity
+casadi__Sparsity__upper x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__upper errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_upper :: Int -> IO Sparsity
+sparsity_upper = casadi__Sparsity__upper
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_blockcat" c_casadi__Sparsity__zz_blockcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_blockcat
+  :: Vector (Vector Sparsity) -> IO Sparsity
+casadi__Sparsity__zz_blockcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_blockcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_blockcat :: Vector (Vector Sparsity) -> IO Sparsity
+sparsity_zz_blockcat = casadi__Sparsity__zz_blockcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_blocksplit" c_casadi__Sparsity__zz_blocksplit
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+casadi__Sparsity__zz_blocksplit
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector (Vector Sparsity))
+casadi__Sparsity__zz_blocksplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_blocksplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_blocksplit :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector (Vector Sparsity))
+sparsity_zz_blocksplit x = casadi__Sparsity__zz_blocksplit (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_diagcat" c_casadi__Sparsity__zz_diagcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_diagcat
+  :: Vector Sparsity -> IO Sparsity
+casadi__Sparsity__zz_diagcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_diagcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_diagcat :: Vector Sparsity -> IO Sparsity
+sparsity_zz_diagcat = casadi__Sparsity__zz_diagcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_diagsplit" c_casadi__Sparsity__zz_diagsplit
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
+casadi__Sparsity__zz_diagsplit
+  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Sparsity)
+casadi__Sparsity__zz_diagsplit x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_diagsplit errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_diagsplit :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Sparsity)
+sparsity_zz_diagsplit x = casadi__Sparsity__zz_diagsplit (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_horzcat" c_casadi__Sparsity__zz_horzcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_horzcat
+  :: Vector Sparsity -> IO Sparsity
+casadi__Sparsity__zz_horzcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_horzcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_horzcat :: Vector Sparsity -> IO Sparsity
+sparsity_zz_horzcat = casadi__Sparsity__zz_horzcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_horzsplit" c_casadi__Sparsity__zz_horzsplit
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
+casadi__Sparsity__zz_horzsplit
+  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
+casadi__Sparsity__zz_horzsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_horzsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_horzsplit :: SparsityClass a => a -> Vector Int -> IO (Vector Sparsity)
+sparsity_zz_horzsplit x = casadi__Sparsity__zz_horzsplit (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_mtimes__0" c_casadi__Sparsity__zz_mtimes__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_mtimes__0
+  :: Sparsity -> Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__zz_mtimes__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_mtimes__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_mtimes__0 :: SparsityClass a => a -> Sparsity -> Sparsity -> IO Sparsity
+sparsity_zz_mtimes__0 x = casadi__Sparsity__zz_mtimes__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_mtimes__1" c_casadi__Sparsity__zz_mtimes__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_mtimes__1
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__zz_mtimes__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_mtimes__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_mtimes__1 :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_zz_mtimes__1 x = casadi__Sparsity__zz_mtimes__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_reshape__0" c_casadi__Sparsity__zz_reshape__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_reshape__0
+  :: Sparsity -> Sparsity -> IO Sparsity
+casadi__Sparsity__zz_reshape__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_reshape__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_reshape__0 :: SparsityClass a => a -> Sparsity -> IO Sparsity
+sparsity_zz_reshape__0 x = casadi__Sparsity__zz_reshape__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_reshape__1" c_casadi__Sparsity__zz_reshape__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_reshape__1
+  :: Sparsity -> Int -> Int -> IO Sparsity
+casadi__Sparsity__zz_reshape__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_reshape__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_reshape__1 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
+sparsity_zz_reshape__1 x = casadi__Sparsity__zz_reshape__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_sprank" c_casadi__Sparsity__zz_sprank
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
+casadi__Sparsity__zz_sprank
+  :: Sparsity -> IO Int
+casadi__Sparsity__zz_sprank x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_sprank errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_sprank :: SparsityClass a => a -> IO Int
+sparsity_zz_sprank x = casadi__Sparsity__zz_sprank (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_tril__0" c_casadi__Sparsity__zz_tril__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_tril__0
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__zz_tril__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_tril__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_tril__0 :: SparsityClass a => a -> IO Sparsity
+sparsity_zz_tril__0 x = casadi__Sparsity__zz_tril__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_tril__1" c_casadi__Sparsity__zz_tril__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_tril__1
+  :: Sparsity -> Bool -> IO Sparsity
+casadi__Sparsity__zz_tril__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_tril__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_tril__1 :: SparsityClass a => a -> Bool -> IO Sparsity
+sparsity_zz_tril__1 x = casadi__Sparsity__zz_tril__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_triu__0" c_casadi__Sparsity__zz_triu__0
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_triu__0
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__zz_triu__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_triu__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_triu__0 :: SparsityClass a => a -> IO Sparsity
+sparsity_zz_triu__0 x = casadi__Sparsity__zz_triu__0 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_triu__1" c_casadi__Sparsity__zz_triu__1
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_triu__1
+  :: Sparsity -> Bool -> IO Sparsity
+casadi__Sparsity__zz_triu__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_triu__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_triu__1 :: SparsityClass a => a -> Bool -> IO Sparsity
+sparsity_zz_triu__1 x = casadi__Sparsity__zz_triu__1 (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_vec" c_casadi__Sparsity__zz_vec
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_vec
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__zz_vec x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_vec errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_vec :: SparsityClass a => a -> IO Sparsity
+sparsity_zz_vec x = casadi__Sparsity__zz_vec (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_vecNZ" c_casadi__Sparsity__zz_vecNZ
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_vecNZ
+  :: Sparsity -> IO Sparsity
+casadi__Sparsity__zz_vecNZ x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_vecNZ errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_vecNZ :: SparsityClass a => a -> IO Sparsity
+sparsity_zz_vecNZ x = casadi__Sparsity__zz_vecNZ (castSparsity x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_vecNZcat" c_casadi__Sparsity__zz_vecNZcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_vecNZcat
+  :: Vector Sparsity -> IO Sparsity
+casadi__Sparsity__zz_vecNZcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_vecNZcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_vecNZcat :: Vector Sparsity -> IO Sparsity
+sparsity_zz_vecNZcat = casadi__Sparsity__zz_vecNZcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_veccat" c_casadi__Sparsity__zz_veccat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_veccat
+  :: Vector Sparsity -> IO Sparsity
+casadi__Sparsity__zz_veccat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_veccat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_veccat :: Vector Sparsity -> IO Sparsity
+sparsity_zz_veccat = casadi__Sparsity__zz_veccat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_vertcat" c_casadi__Sparsity__zz_vertcat
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
+casadi__Sparsity__zz_vertcat
+  :: Vector Sparsity -> IO Sparsity
+casadi__Sparsity__zz_vertcat x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_vertcat errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_vertcat :: Vector Sparsity -> IO Sparsity
+sparsity_zz_vertcat = casadi__Sparsity__zz_vertcat
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Sparsity__zz_vertsplit" c_casadi__Sparsity__zz_vertsplit
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
+casadi__Sparsity__zz_vertsplit
+  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
+casadi__Sparsity__zz_vertsplit x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Sparsity__zz_vertsplit errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sparsity_zz_vertsplit :: SparsityClass a => a -> Vector Int -> IO (Vector Sparsity)
+sparsity_zz_vertsplit x = casadi__Sparsity__zz_vertsplit (castSparsity x)
 
diff --git a/Casadi/Core/Classes/StabilizedQpSolver.hs b/Casadi/Core/Classes/StabilizedQpSolver.hs
--- a/Casadi/Core/Classes/StabilizedQpSolver.hs
+++ b/Casadi/Core/Classes/StabilizedQpSolver.hs
@@ -35,7 +35,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__StabilizedQpSolver__CONSTRUCTOR" c_casadi__StabilizedQpSolver__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr StabilizedQpSolver')
diff --git a/Casadi/Core/Classes/SymbolicNLP.hs b/Casadi/Core/Classes/SymbolicNLP.hs
--- a/Casadi/Core/Classes/SymbolicNLP.hs
+++ b/Casadi/Core/Classes/SymbolicNLP.hs
@@ -32,7 +32,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__SymbolicNLP__parseNL" c_casadi__SymbolicNLP__parseNL
   :: Ptr (Ptr StdString) -> Ptr SymbolicNLP' -> Ptr StdString -> IO ()
diff --git a/Casadi/Core/Classes/SymbolicOCP.hs b/Casadi/Core/Classes/SymbolicOCP.hs
--- a/Casadi/Core/Classes/SymbolicOCP.hs
+++ b/Casadi/Core/Classes/SymbolicOCP.hs
@@ -104,7 +104,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__SymbolicOCP__CONSTRUCTOR__0" c_casadi__SymbolicOCP__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> IO (Ptr SymbolicOCP')
diff --git a/Casadi/Core/Classes/Variable.hs b/Casadi/Core/Classes/Variable.hs
--- a/Casadi/Core/Classes/Variable.hs
+++ b/Casadi/Core/Classes/Variable.hs
@@ -10,10 +10,6 @@
          Variable,
          VariableClass(..),
          variable,
-         variable_atTime__0,
-         variable_atTime__1,
-         variable_atTime__2,
-         variable_atTime__3,
          variable_getDescription,
          variable_getRepresentation,
          variable_name,
@@ -38,7 +34,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__Variable__CONSTRUCTOR" c_casadi__Variable__CONSTRUCTOR
   :: Ptr (Ptr StdString) -> IO (Ptr Variable')
@@ -57,92 +52,6 @@
 -- classy wrapper
 variable :: IO Variable
 variable = casadi__Variable__CONSTRUCTOR
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Variable__atTime__0" c_casadi__Variable__atTime__0
-  :: Ptr (Ptr StdString) -> Ptr Variable' -> CDouble -> IO (Ptr SXElement')
-casadi__Variable__atTime__0
-  :: Variable -> Double -> IO SXElement
-casadi__Variable__atTime__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Variable__atTime__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-variable_atTime__0 :: VariableClass a => a -> Double -> IO SXElement
-variable_atTime__0 x = casadi__Variable__atTime__0 (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Variable__atTime__1" c_casadi__Variable__atTime__1
-  :: Ptr (Ptr StdString) -> Ptr Variable' -> CDouble -> CInt -> IO (Ptr SXElement')
-casadi__Variable__atTime__1
-  :: Variable -> Double -> Bool -> IO SXElement
-casadi__Variable__atTime__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Variable__atTime__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-variable_atTime__1 :: VariableClass a => a -> Double -> Bool -> IO SXElement
-variable_atTime__1 x = casadi__Variable__atTime__1 (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Variable__atTime__2" c_casadi__Variable__atTime__2
-  :: Ptr (Ptr StdString) -> Ptr Variable' -> CDouble -> IO (Ptr SXElement')
-casadi__Variable__atTime__2
-  :: Variable -> Double -> IO SXElement
-casadi__Variable__atTime__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Variable__atTime__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-variable_atTime__2 :: VariableClass a => a -> Double -> IO SXElement
-variable_atTime__2 x = casadi__Variable__atTime__2 (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Variable__atTime__3" c_casadi__Variable__atTime__3
-  :: Ptr (Ptr StdString) -> Ptr Variable' -> CDouble -> CInt -> IO (Ptr SXElement')
-casadi__Variable__atTime__3
-  :: Variable -> Double -> Bool -> IO SXElement
-casadi__Variable__atTime__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_casadi__Variable__atTime__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
--- classy wrapper
-variable_atTime__3 :: VariableClass a => a -> Double -> Bool -> IO SXElement
-variable_atTime__3 x = casadi__Variable__atTime__3 (castVariable x)
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/XmlFile.hs b/Casadi/Core/Classes/XmlFile.hs
--- a/Casadi/Core/Classes/XmlFile.hs
+++ b/Casadi/Core/Classes/XmlFile.hs
@@ -33,7 +33,6 @@
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
 import Casadi.Core.Data
 import Casadi.Core.Enums
-
 -- direct wrapper
 foreign import ccall unsafe "casadi__XmlFile__CONSTRUCTOR__0" c_casadi__XmlFile__CONSTRUCTOR__0
   :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr XmlFile')
diff --git a/Casadi/Core/CustomWrappers.hs b/Casadi/Core/CustomWrappers.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/CustomWrappers.hs
@@ -0,0 +1,42 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.CustomWrappers
+       ( function_custom_generateCode
+       ) where
+
+import Prelude hiding ( Functor )
+
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+
+import Casadi.Internal.CToolsInstances ( )
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdString ) -- StdPair StdOstream'
+import Casadi.Internal.Marshal ( withMarshal )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+import Casadi.Core.Data
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__custom__generateCode" c_casadi__custom__generateCode
+  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr StdString)
+casadi__custom__generateCode
+  :: Function -> Bool -> IO String
+casadi__custom__generateCode x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__custom__generateCode errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+function_custom_generateCode :: FunctionClass a => a -> Bool -> IO String
+function_custom_generateCode x = casadi__custom__generateCode (castFunction x)
diff --git a/Casadi/Core/Data.hs b/Casadi/Core/Data.hs
--- a/Casadi/Core/Data.hs
+++ b/Casadi/Core/Data.hs
@@ -12,12611 +12,1489 @@
 
 import Casadi.Internal.Marshal (  Marshal(..) )
 import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-
--- raw decl
-data Callback'
--- data decl
-{-|
->Callback.
->
->In C++, supply a CallbackCPtr function pointer When the callback function
->returns a non-zero integer, the host is signalled of a problem. E.g. an
->NlpSolver may halt iterations if the Callback is something else than 0
->
->In python, supply a callable, annotated with pycallback decorator
->
->C++ includes: functor.hpp 
--}
-newtype Callback = Callback (ForeignPtr Callback')
--- typeclass decl
-class CallbackClass a where
-  castCallback :: a -> Callback
-instance CallbackClass Callback where
-  castCallback = id
-
--- baseclass instances
-instance FunctorClass Callback where
-  castFunctor (Callback x) = Functor (castForeignPtr x)
-
-instance SharedObjectClass Callback where
-  castSharedObject (Callback x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Callback (Ptr Callback') where
-  marshal (Callback x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Callback x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Callback" 
-  c_delete_casadi__Callback :: FunPtr (Ptr Callback' -> IO ())
-instance WrapReturn (Ptr Callback') Callback where
-  wrapReturn = (fmap Callback) . (newForeignPtr c_delete_casadi__Callback)
-
-
--- raw decl
-data CasadiMeta'
--- data decl
-{-|
->Collects global CasADi meta information.
->
->Joris Gillis
->
->C++ includes: casadi_meta.hpp 
--}
-newtype CasadiMeta = CasadiMeta (ForeignPtr CasadiMeta')
--- typeclass decl
-class CasadiMetaClass a where
-  castCasadiMeta :: a -> CasadiMeta
-instance CasadiMetaClass CasadiMeta where
-  castCasadiMeta = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal CasadiMeta (Ptr CasadiMeta') where
-  marshal (CasadiMeta x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CasadiMeta x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__CasadiMeta" 
-  c_delete_casadi__CasadiMeta :: FunPtr (Ptr CasadiMeta' -> IO ())
-instance WrapReturn (Ptr CasadiMeta') CasadiMeta where
-  wrapReturn = (fmap CasadiMeta) . (newForeignPtr c_delete_casadi__CasadiMeta)
-
-
--- raw decl
-data CasadiOptions'
--- data decl
-{-|
->Collects global CasADi options.
->
->Note to developers: use sparingly. Global options are - in general - a
->rather bad idea
->
->this class must never be instantiated. Access its static members directly
->Joris Gillis
->
->C++ includes: casadi_options.hpp 
--}
-newtype CasadiOptions = CasadiOptions (ForeignPtr CasadiOptions')
--- typeclass decl
-class CasadiOptionsClass a where
-  castCasadiOptions :: a -> CasadiOptions
-instance CasadiOptionsClass CasadiOptions where
-  castCasadiOptions = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal CasadiOptions (Ptr CasadiOptions') where
-  marshal (CasadiOptions x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CasadiOptions x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__CasadiOptions" 
-  c_delete_casadi__CasadiOptions :: FunPtr (Ptr CasadiOptions' -> IO ())
-instance WrapReturn (Ptr CasadiOptions') CasadiOptions where
-  wrapReturn = (fmap CasadiOptions) . (newForeignPtr c_delete_casadi__CasadiOptions)
-
-
--- raw decl
-data CleSolver'
--- data decl
-{-|
->Base class for Discrete Lyapunov Equation Solvers.
->
->Given matrices $A$ and symmetric $V$
->
->
->
->::
->
->  A in R^(n x n)
->  V in S^n
->  
->
->
->
->finds $P$ that satisfies:
->
->
->
->::
->
->  0 = A P  + P A' + V
->  
->
->
->
->General information
->===================
->
->
->
->>Input scheme: casadi::CLEInput (CLE_NUM_IN = 2) [cleIn]
->
->+-----------+-------+-------------+
->| Full name | Short | Description |
->+===========+=======+=============+
->| CLE_A     | a     | A matrix .  |
->+-----------+-------+-------------+
->| CLE_V     | v     | V matrix .  |
->+-----------+-------+-------------+
->
->>Output scheme: casadi::CLEOutput (CLE_NUM_OUT = 1) [cleOut]
->
->+-----------+-------+-------------------+
->| Full name | Short |    Description    |
->+===========+=======+===================+
->| CLE_P     | p     | Lyapunov matrix . |
->+-----------+-------+-------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eps_unstable | OT_REAL      | 0.000        | A margin for | casadi::CleI |
->|              |              |              | unstability  | nternal      |
->|              |              |              | detection    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| error_unstab | OT_BOOLEAN   | false        | Throw an     | casadi::CleI |
->| le           |              |              | exception    | nternal      |
->|              |              |              | when it is   |              |
->|              |              |              | detected     |              |
->|              |              |              | that         |              |
->|              |              |              | Product(A_i, |              |
->|              |              |              | i=N..1) has  |              |
->|              |              |              | eigenvalues  |              |
->|              |              |              | greater than |              |
->|              |              |              | 1-eps_unstab |              |
->|              |              |              | le           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pos_def      | OT_BOOLEAN   | false        | Assume P     | casadi::CleI |
->|              |              |              | positive     | nternal      |
->|              |              |              | definite     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_CleSolver_simple'>simple</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->CleSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->simple
->------
->
->
->
->Solving the Discrete Lyapunov Equations with a regular LinearSolver
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| linear_solver   | OT_STRING       | GenericType()   | User-defined    |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | class. Needed   |
->|                 |                 |                 | for             |
->|                 |                 |                 | sensitivities.  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_o | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ptions          |                 |                 | passed to the   |
->|                 |                 |                 | linear solver.  |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: cle_solver.hpp 
--}
-newtype CleSolver = CleSolver (ForeignPtr CleSolver')
--- typeclass decl
-class CleSolverClass a where
-  castCleSolver :: a -> CleSolver
-instance CleSolverClass CleSolver where
-  castCleSolver = id
-
--- baseclass instances
-instance FunctionClass CleSolver where
-  castFunction (CleSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass CleSolver where
-  castOptionsFunctionality (CleSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass CleSolver where
-  castSharedObject (CleSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass CleSolver where
-  castIOInterfaceFunction (CleSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CleSolver (Ptr CleSolver') where
-  marshal (CleSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CleSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__CleSolver" 
-  c_delete_casadi__CleSolver :: FunPtr (Ptr CleSolver' -> IO ())
-instance WrapReturn (Ptr CleSolver') CleSolver where
-  wrapReturn = (fmap CleSolver) . (newForeignPtr c_delete_casadi__CleSolver)
-
-
--- raw decl
-data ControlSimulator'
--- data decl
-{-|
->Piecewise Simulation class.
->
->A ControlSimulator can be seen as a chain of Simulators whereby some
->parameters change from one Simulator to the next.
->
->These changing parameters can typically be interpreted as "controls" in
->the context of dynamic optimization.
->
->We discriminate between the following time steps: Major time-steps. These
->are the time steps provided by the supplied grid. Controls are constant
->inbetween major time-steps  Minor time-steps. These are time steps linearly
->interpolated from one major time-step to the next. The option 'nf' regulates
->how many minor time-steps are taken.  Integration time-steps. Time steps
->that the supplied integrator might choose to integrate the continuous
->dynamics. They are not important what ControlSimulator is concerned.  np
->Number of parameters nu Number of controls ns The number of major grid
->points, as supplied in the constructor nf The number of minor grid points
->per major interval
->
->Joris Gillis
->
->>Input scheme: casadi::ControlSimulatorInput (CONTROLSIMULATOR_NUM_IN = 3) [controlsimulatorIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| CONTROLSIMULATOR_X0    | x0                     | Differential or        |
->|                        |                        | algebraic state at t0  |
->|                        |                        | (dimension nx-by-1) .  |
->+------------------------+------------------------+------------------------+
->| CONTROLSIMULATOR_P     | p                      | Parameters that are    |
->|                        |                        | fixed over the entire  |
->|                        |                        | horizon (dimension np- |
->|                        |                        | by-1) .                |
->+------------------------+------------------------+------------------------+
->| CONTROLSIMULATOR_U     | u                      | Parameters that change |
->|                        |                        | over the integration   |
->|                        |                        | intervals (dimension   |
->|                        |                        | nu-by-(ns-1)) .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| control_endp | OT_BOOLEAN   | false        | Include a    | casadi::Cont |
->| oint         |              |              | control      | rolSimulator |
->|              |              |              | value at the | Internal     |
->|              |              |              | end of the   |              |
->|              |              |              | simulation   |              |
->|              |              |              | domain. Used |              |
->|              |              |              | for interpol |              |
->|              |              |              | ation.       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| control_inte | OT_STRING    | "none"       | none|nearest | casadi::Cont |
->| rpolation    |              |              | |linear      | rolSimulator |
->|              |              |              |              | Internal     |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| integrator   | OT_STRING    | GenericType( | An           | casadi::Cont |
->|              |              | )            | integrator   | rolSimulator |
->|              |              |              | creator      | Internal     |
->|              |              |              | function     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| integrator_o | OT_DICTIONAR | GenericType( | Options to   | casadi::Cont |
->| ptions       | Y            | )            | be passed to | rolSimulator |
->|              |              |              | the          | Internal     |
->|              |              |              | integrator   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| minor_grid   | OT_INTEGERVE | GenericType( | The local    | casadi::Cont |
->|              | CTOR         | )            | grid used on | rolSimulator |
->|              |              |              | each major   | Internal     |
->|              |              |              | interval,    |              |
->|              |              |              | with time    |              |
->|              |              |              | normalized   |              |
->|              |              |              | to 1. By     |              |
->|              |              |              | default,     |              |
->|              |              |              | option 'nf'  |              |
->|              |              |              | is used to   |              |
->|              |              |              | construct a  |              |
->|              |              |              | linearly     |              |
->|              |              |              | spaced grid. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nf           | OT_INTEGER   | 1            | Number of    | casadi::Cont |
->|              |              |              | minor        | rolSimulator |
->|              |              |              | grained      | Internal     |
->|              |              |              | integration  |              |
->|              |              |              | steps per    |              |
->|              |              |              | major        |              |
->|              |              |              | interval.    |              |
->|              |              |              | nf>0 must    |              |
->|              |              |              | hold. This   |              |
->|              |              |              | option is    |              |
->|              |              |              | not used     |              |
->|              |              |              | when         |              |
->|              |              |              | 'minor_grid' |              |
->|              |              |              | is provided. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| simulator_op | OT_DICTIONAR | GenericType( | Options to   | casadi::Cont |
->| tions        | Y            | )            | be passed to | rolSimulator |
->|              |              |              | the          | Internal     |
->|              |              |              | simulator    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->C++ includes: control_simulator.hpp 
--}
-newtype ControlSimulator = ControlSimulator (ForeignPtr ControlSimulator')
--- typeclass decl
-class ControlSimulatorClass a where
-  castControlSimulator :: a -> ControlSimulator
-instance ControlSimulatorClass ControlSimulator where
-  castControlSimulator = id
-
--- baseclass instances
-instance FunctionClass ControlSimulator where
-  castFunction (ControlSimulator x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass ControlSimulator where
-  castOptionsFunctionality (ControlSimulator x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass ControlSimulator where
-  castSharedObject (ControlSimulator x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass ControlSimulator where
-  castIOInterfaceFunction (ControlSimulator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal ControlSimulator (Ptr ControlSimulator') where
-  marshal (ControlSimulator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ControlSimulator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__ControlSimulator" 
-  c_delete_casadi__ControlSimulator :: FunPtr (Ptr ControlSimulator' -> IO ())
-instance WrapReturn (Ptr ControlSimulator') ControlSimulator where
-  wrapReturn = (fmap ControlSimulator) . (newForeignPtr c_delete_casadi__ControlSimulator)
-
-
--- raw decl
-data CustomEvaluate'
--- data decl
-{-|
->CustomEvaluate.
->
->In C++, supply a CustomEvaluateCPtr function pointer
->
->In python, supply a callable, annotated with pyevaluate decorator
->
->C++ includes: functor.hpp 
--}
-newtype CustomEvaluate = CustomEvaluate (ForeignPtr CustomEvaluate')
--- typeclass decl
-class CustomEvaluateClass a where
-  castCustomEvaluate :: a -> CustomEvaluate
-instance CustomEvaluateClass CustomEvaluate where
-  castCustomEvaluate = id
-
--- baseclass instances
-instance FunctorClass CustomEvaluate where
-  castFunctor (CustomEvaluate x) = Functor (castForeignPtr x)
-
-instance SharedObjectClass CustomEvaluate where
-  castSharedObject (CustomEvaluate x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CustomEvaluate (Ptr CustomEvaluate') where
-  marshal (CustomEvaluate x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CustomEvaluate x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__CustomEvaluate" 
-  c_delete_casadi__CustomEvaluate :: FunPtr (Ptr CustomEvaluate' -> IO ())
-instance WrapReturn (Ptr CustomEvaluate') CustomEvaluate where
-  wrapReturn = (fmap CustomEvaluate) . (newForeignPtr c_delete_casadi__CustomEvaluate)
-
-
--- raw decl
-data CustomFunction'
--- data decl
-{-|
->Interface to a custom function.
->
->Joel Andersson
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->C++ includes: custom_function.hpp 
--}
-newtype CustomFunction = CustomFunction (ForeignPtr CustomFunction')
--- typeclass decl
-class CustomFunctionClass a where
-  castCustomFunction :: a -> CustomFunction
-instance CustomFunctionClass CustomFunction where
-  castCustomFunction = id
-
--- baseclass instances
-instance FunctionClass CustomFunction where
-  castFunction (CustomFunction x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass CustomFunction where
-  castOptionsFunctionality (CustomFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass CustomFunction where
-  castSharedObject (CustomFunction x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass CustomFunction where
-  castIOInterfaceFunction (CustomFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CustomFunction (Ptr CustomFunction') where
-  marshal (CustomFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CustomFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__CustomFunction" 
-  c_delete_casadi__CustomFunction :: FunPtr (Ptr CustomFunction' -> IO ())
-instance WrapReturn (Ptr CustomFunction') CustomFunction where
-  wrapReturn = (fmap CustomFunction) . (newForeignPtr c_delete_casadi__CustomFunction)
-
-
--- raw decl
-data DMatrix'
--- data decl
-{-|
--}
-newtype DMatrix = DMatrix (ForeignPtr DMatrix')
--- typeclass decl
-class DMatrixClass a where
-  castDMatrix :: a -> DMatrix
-instance DMatrixClass DMatrix where
-  castDMatrix = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal DMatrix (Ptr DMatrix') where
-  marshal (DMatrix x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DMatrix x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__DMatrix" 
-  c_delete_casadi__DMatrix :: FunPtr (Ptr DMatrix' -> IO ())
-instance WrapReturn (Ptr DMatrix') DMatrix where
-  wrapReturn = (fmap DMatrix) . (newForeignPtr c_delete_casadi__DMatrix)
-
-
--- raw decl
-data DerivativeGenerator'
--- data decl
-{-|
->Derivative Generator Functor.
->
->In C++, supply a DerivativeGeneratorCPtr function pointer
->
->In python, supply a callable, annotated with derivativegenerator decorator
->
->C++ includes: functor.hpp 
--}
-newtype DerivativeGenerator = DerivativeGenerator (ForeignPtr DerivativeGenerator')
--- typeclass decl
-class DerivativeGeneratorClass a where
-  castDerivativeGenerator :: a -> DerivativeGenerator
-instance DerivativeGeneratorClass DerivativeGenerator where
-  castDerivativeGenerator = id
-
--- baseclass instances
-instance FunctorClass DerivativeGenerator where
-  castFunctor (DerivativeGenerator x) = Functor (castForeignPtr x)
-
-instance SharedObjectClass DerivativeGenerator where
-  castSharedObject (DerivativeGenerator x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DerivativeGenerator (Ptr DerivativeGenerator') where
-  marshal (DerivativeGenerator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DerivativeGenerator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__DerivativeGenerator" 
-  c_delete_casadi__DerivativeGenerator :: FunPtr (Ptr DerivativeGenerator' -> IO ())
-instance WrapReturn (Ptr DerivativeGenerator') DerivativeGenerator where
-  wrapReturn = (fmap DerivativeGenerator) . (newForeignPtr c_delete_casadi__DerivativeGenerator)
-
-
--- raw decl
-data DleSolver'
--- data decl
-{-|
->Base class for Discrete Lyapunov Equation Solvers.
->
->Given matrices $A$ and symmetric $V$
->
->
->
->::
->
->  A in R^(n x n)
->  V in S^n
->  
->
->
->
->finds $P$ that satisfies:
->
->
->
->::
->
->  P = A P A' + V
->  
->
->
->
->General information
->===================
->
->
->
->>Input scheme: casadi::DLEInput (DLE_NUM_IN = 2) [dleIn]
->
->+-----------+-------+-------------+
->| Full name | Short | Description |
->+===========+=======+=============+
->| DLE_A     | a     | A matrix .  |
->+-----------+-------+-------------+
->| DLE_V     | v     | V matrix .  |
->+-----------+-------+-------------+
->
->>Output scheme: casadi::DLEOutput (DLE_NUM_OUT = 1) [dleOut]
->
->+-----------+-------+-------------+
->| Full name | Short | Description |
->+===========+=======+=============+
->| DLE_P     | p     | P matrix .  |
->+-----------+-------+-------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eps_unstable | OT_REAL      | 0.000        | A margin for | casadi::DleI |
->|              |              |              | unstability  | nternal      |
->|              |              |              | detection    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| error_unstab | OT_BOOLEAN   | false        | Throw an     | casadi::DleI |
->| le           |              |              | exception    | nternal      |
->|              |              |              | when it is   |              |
->|              |              |              | detected     |              |
->|              |              |              | that         |              |
->|              |              |              | Product(A_i, |              |
->|              |              |              | i=N..1) has  |              |
->|              |              |              | eigenvalues  |              |
->|              |              |              | greater than |              |
->|              |              |              | 1-eps_unstab |              |
->|              |              |              | le           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pos_def      | OT_BOOLEAN   | false        | Assume P     | casadi::DleI |
->|              |              |              | positive     | nternal      |
->|              |              |              | definite     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_DleSolver_dple'>dple</a>
->
->- <a href='#plugin_DleSolver_fixed_smith'>fixed_smith</a>
->
->- <a href='#plugin_DleSolver_lrdle'>lrdle</a>
->
->- <a href='#plugin_DleSolver_simple'>simple</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->DleSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->dple
->----
->
->
->
->Solving the Discrete Lyapunov Equations with Periodic Solver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->fixed_smith
->-----------
->
->
->
->Solving the Discrete Lyapunov Equations with a fixed number of smith
->iterations.
->
->DleSolversmith
->
->>List of available options
->
->+---------------+------------+---------+----------------------------+
->|      Id       |    Type    | Default |        Description         |
->+===============+============+=========+============================+
->| freq_doubling | OT_BOOLEAN | false   | Use frequency doubling     |
->+---------------+------------+---------+----------------------------+
->| iter          | OT_INTEGER | 100     | Number of Smith iterations |
->+---------------+------------+---------+----------------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->lrdle
->-----
->
->
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->simple
->------
->
->
->
->Solving the Discrete Lyapunov Equations with a regular LinearSolver
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| compressed_solv | OT_BOOLEAN      | true            | When a system   |
->| e               |                 |                 | with sparse rhs |
->|                 |                 |                 | arises,         |
->|                 |                 |                 | compress toa    |
->|                 |                 |                 | smaller system  |
->|                 |                 |                 | with dense rhs. |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver   | OT_STRING       | GenericType()   | User-defined    |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | class. Needed   |
->|                 |                 |                 | for             |
->|                 |                 |                 | sensitivities.  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_o | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ptions          |                 |                 | passed to the   |
->|                 |                 |                 | linear solver.  |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: dle_solver.hpp 
--}
-newtype DleSolver = DleSolver (ForeignPtr DleSolver')
--- typeclass decl
-class DleSolverClass a where
-  castDleSolver :: a -> DleSolver
-instance DleSolverClass DleSolver where
-  castDleSolver = id
-
--- baseclass instances
-instance FunctionClass DleSolver where
-  castFunction (DleSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass DleSolver where
-  castOptionsFunctionality (DleSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass DleSolver where
-  castSharedObject (DleSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass DleSolver where
-  castIOInterfaceFunction (DleSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DleSolver (Ptr DleSolver') where
-  marshal (DleSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DleSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__DleSolver" 
-  c_delete_casadi__DleSolver :: FunPtr (Ptr DleSolver' -> IO ())
-instance WrapReturn (Ptr DleSolver') DleSolver where
-  wrapReturn = (fmap DleSolver) . (newForeignPtr c_delete_casadi__DleSolver)
-
-
--- raw decl
-data DpleSolver'
--- data decl
-{-|
->Base class for Discrete Periodic Lyapunov Equation Solvers.
->
->Given matrices $A_k$ and symmetric $V_k, k = 0..K-1$
->
->
->
->::
->
->  A_k in R^(n x n)
->  V_k in R^n
->  
->
->
->
->provides all of $P_k$ that satisfy:
->
->
->
->::
->
->  P_0 = A_(K-1)*P_(K-1)*A_(K-1)' + V_k
->  P_k+1 = A_k*P_k*A_k' + V_k  for k = 1..K-1
->  
->
->
->
->General information
->===================
->
->
->
->>Input scheme: casadi::DPLEInput (DPLE_NUM_IN = 2) [dpleIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| DPLE_A                 | a                      | A matrices (horzcat    |
->|                        |                        | when const_dim,        |
->|                        |                        | blkdiag otherwise) .   |
->+------------------------+------------------------+------------------------+
->| DPLE_V                 | v                      | V matrices (horzcat    |
->|                        |                        | when const_dim,        |
->|                        |                        | blkdiag otherwise) .   |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::DPLEOutput (DPLE_NUM_OUT = 1) [dpleOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| DPLE_P                 | p                      | Lyapunov matrix        |
->|                        |                        | (horzcat when          |
->|                        |                        | const_dim, blkdiag     |
->|                        |                        | otherwise) (Cholesky   |
->|                        |                        | of P if pos_def) .     |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| const_dim    | OT_BOOLEAN   | true         | Assume       | casadi::Dple |
->|              |              |              | constant     | Internal     |
->|              |              |              | dimension of |              |
->|              |              |              | P            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eps_unstable | OT_REAL      | 0.000        | A margin for | casadi::Dple |
->|              |              |              | unstability  | Internal     |
->|              |              |              | detection    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| error_unstab | OT_BOOLEAN   | false        | Throw an     | casadi::Dple |
->| le           |              |              | exception    | Internal     |
->|              |              |              | when it is   |              |
->|              |              |              | detected     |              |
->|              |              |              | that         |              |
->|              |              |              | Product(A_i, |              |
->|              |              |              | i=N..1) has  |              |
->|              |              |              | eigenvalues  |              |
->|              |              |              | greater than |              |
->|              |              |              | 1-eps_unstab |              |
->|              |              |              | le           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pos_def      | OT_BOOLEAN   | false        | Assume P     | casadi::Dple |
->|              |              |              | positive     | Internal     |
->|              |              |              | definite     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_DpleSolver_slicot'>slicot</a>
->
->- <a href='#plugin_DpleSolver_condensing'>condensing</a>
->
->- <a href='#plugin_DpleSolver_lifting'>lifting</a>
->
->- <a href='#plugin_DpleSolver_lrdple'>lrdple</a>
->
->- <a href='#plugin_DpleSolver_simple'>simple</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->DpleSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->slicot
->------
->
->
->
->An efficient solver for Discrete Periodic Lyapunov Equations using SLICOT
->
->Uses Periodic Schur Decomposition ('psd') and does not assume positive
->definiteness. Based on Periodic Lyapunov equations: some applications and
->new algorithms. Int. J. Control, vol. 67, pp. 69-87, 1997.
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| linear_solver   | OT_STRING       | GenericType()   | User-defined    |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | class. Needed   |
->|                 |                 |                 | for             |
->|                 |                 |                 | sensitivities.  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_o | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ptions          |                 |                 | passed to the   |
->|                 |                 |                 | linear solver.  |
->+-----------------+-----------------+-----------------+-----------------+
->| psd_num_zero    | OT_REAL         | 0.000           | Numerical zero  |
->|                 |                 |                 | used in         |
->|                 |                 |                 | Periodic Schur  |
->|                 |                 |                 | decomposition   |
->|                 |                 |                 | with            |
->|                 |                 |                 | slicot.This     |
->|                 |                 |                 | option is       |
->|                 |                 |                 | needed when     |
->|                 |                 |                 | your systems    |
->|                 |                 |                 | has Floquet     |
->|                 |                 |                 | multiplierszero |
->|                 |                 |                 | or close to     |
->|                 |                 |                 | zero            |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available stats
->
->+----------------+
->|       Id       |
->+================+
->| t_linear_solve |
->+----------------+
->| t_psd          |
->+----------------+
->| t_total        |
->+----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->condensing
->----------
->
->
->
->Solving the Discrete Periodic Lyapunov Equations by condensing the entire
->period to a single Discrete Lyapunov Equation
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->lifting
->-------
->
->
->
->Solving the Discrete Periodic Lyapunov Equations by lifting the entire
->period to a single Discrete Lyapunov Equation
->
->>List of available options
->
->+------+-----------+---------+-----------------------------------+
->|  Id  |   Type    | Default |            Description            |
->+======+===========+=========+===================================+
->| form | OT_STRING | "A"     | The form of the lifting (A:0|B:1) |
->+------+-----------+---------+-----------------------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->lrdple
->------
->
->
->
->Solving the Low-Rank Discrete Lyapunov Equations with a Low-Rank Discrete
->Lyapunov Equations Solver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->simple
->------
->
->
->
->Solving the Discrete Periodic Lyapunov Equations with a regular LinearSolver
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| linear_solver   | OT_STRING       | GenericType()   | User-defined    |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | class. Needed   |
->|                 |                 |                 | for             |
->|                 |                 |                 | sensitivities.  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_o | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ptions          |                 |                 | passed to the   |
->|                 |                 |                 | linear solver.  |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: dple_solver.hpp 
--}
-newtype DpleSolver = DpleSolver (ForeignPtr DpleSolver')
--- typeclass decl
-class DpleSolverClass a where
-  castDpleSolver :: a -> DpleSolver
-instance DpleSolverClass DpleSolver where
-  castDpleSolver = id
-
--- baseclass instances
-instance FunctionClass DpleSolver where
-  castFunction (DpleSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass DpleSolver where
-  castOptionsFunctionality (DpleSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass DpleSolver where
-  castSharedObject (DpleSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass DpleSolver where
-  castIOInterfaceFunction (DpleSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DpleSolver (Ptr DpleSolver') where
-  marshal (DpleSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DpleSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__DpleSolver" 
-  c_delete_casadi__DpleSolver :: FunPtr (Ptr DpleSolver' -> IO ())
-instance WrapReturn (Ptr DpleSolver') DpleSolver where
-  wrapReturn = (fmap DpleSolver) . (newForeignPtr c_delete_casadi__DpleSolver)
-
-
--- raw decl
-data ExternalFunction'
--- data decl
-{-|
->Interface for a function that is not implemented by CasADi symbolics.
->
->Joel Andersson
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->C++ includes: external_function.hpp 
--}
-newtype ExternalFunction = ExternalFunction (ForeignPtr ExternalFunction')
--- typeclass decl
-class ExternalFunctionClass a where
-  castExternalFunction :: a -> ExternalFunction
-instance ExternalFunctionClass ExternalFunction where
-  castExternalFunction = id
-
--- baseclass instances
-instance FunctionClass ExternalFunction where
-  castFunction (ExternalFunction x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass ExternalFunction where
-  castOptionsFunctionality (ExternalFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass ExternalFunction where
-  castSharedObject (ExternalFunction x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass ExternalFunction where
-  castIOInterfaceFunction (ExternalFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal ExternalFunction (Ptr ExternalFunction') where
-  marshal (ExternalFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ExternalFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__ExternalFunction" 
-  c_delete_casadi__ExternalFunction :: FunPtr (Ptr ExternalFunction' -> IO ())
-instance WrapReturn (Ptr ExternalFunction') ExternalFunction where
-  wrapReturn = (fmap ExternalFunction) . (newForeignPtr c_delete_casadi__ExternalFunction)
-
-
--- raw decl
-data Function'
--- data decl
-{-|
->General function.
->
->A general function $f$ in casadi can be multi-input, multi-output. Number of
->inputs: nin getNumInputs() Number of outputs: nout getNumOutputs()  We can
->view this function as a being composed of a ( nin, nout) grid of single-
->input, single-output primitive functions. Each such primitive function $f_
->{i, j} \\\\forall i \\\\in [0, nin-1], j \\\\in [0, nout-1]$ can map as
->$\\\\mathbf {R}^{n, m}\\\\to\\\\mathbf{R}^{p, q}$, in which n, m, p, q can
->take different values for every (i, j) pair.  When passing input, you
->specify which partition $i$ is active. You pass the numbers vectorized, as a
->vector of size $(n*m)$. When requesting output, you specify which partition
->$j$ is active. You get the numbers vectorized, as a vector of size $(p*q)$.
->To calculate Jacobians, you need to have $(m=1, q=1)$.
->
->Write the Jacobian as $J_ {i, j} = \\\\nabla f_{i, j} = \\\\frac
->{\\\\partial f_{i, j}(\\\\vec{x})}{\\\\partial \\\\vec{x}}$.
->
->Using $\\\\vec {v} \\\\in \\\\mathbf{R}^n$ as a forward seed: setFwdSeed(v,
->i) Retrieving $\\\\vec {s}_f \\\\in \\\\mathbf{R}^p$ from: getFwdSens(sf, j)
->Using $\\\\vec {w} \\\\in \\\\mathbf{R}^p$ as a forward seed: setAdjSeed(w,
->j) Retrieving $\\\\vec {s}_a \\\\in \\\\mathbf{R}^n $ from: getAdjSens(sa,
->i)  We have the following relationships for function mapping from a row
->vector to a row vector:
->
->$ \\\\vec {s}_f = \\\\nabla f_{i, j} . \\\\vec{v}$ $ \\\\vec {s}_a =
->(\\\\nabla f_{i, j})^T . \\\\vec{w}$
->
->Some quantities in these formulas must be transposed: input col: transpose $
->\\\\vec {v} $ and $\\\\vec{s}_a$ output col: transpose $ \\\\vec {w} $ and
->$\\\\vec{s}_f$  NOTE: Functions are allowed to modify their input arguments
->when evaluating: implicitFunction, IDAS solver Further releases may disallow
->this.
->
->Joel Andersson
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->
->+---------+--------------------------+
->|   Id    |         Used in          |
->+=========+==========================+
->| inputs  | casadi::FunctionInternal |
->+---------+--------------------------+
->| outputs | casadi::FunctionInternal |
->+---------+--------------------------+
->
->C++ includes: function.hpp 
--}
-newtype Function = Function (ForeignPtr Function')
--- typeclass decl
-class FunctionClass a where
-  castFunction :: a -> Function
-instance FunctionClass Function where
-  castFunction = id
-
--- baseclass instances
-instance OptionsFunctionalityClass Function where
-  castOptionsFunctionality (Function x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass Function where
-  castSharedObject (Function x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Function where
-  castIOInterfaceFunction (Function x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Function (Ptr Function') where
-  marshal (Function x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Function x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Function" 
-  c_delete_casadi__Function :: FunPtr (Ptr Function' -> IO ())
-instance WrapReturn (Ptr Function') Function where
-  wrapReturn = (fmap Function) . (newForeignPtr c_delete_casadi__Function)
-
-
--- raw decl
-data Functor'
--- data decl
-{-|
->Functor.
->
->Joris Gillis
->
->C++ includes: functor.hpp 
--}
-newtype Functor = Functor (ForeignPtr Functor')
--- typeclass decl
-class FunctorClass a where
-  castFunctor :: a -> Functor
-instance FunctorClass Functor where
-  castFunctor = id
-
--- baseclass instances
-instance SharedObjectClass Functor where
-  castSharedObject (Functor x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Functor (Ptr Functor') where
-  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
-data GenericType'
--- data decl
-{-|
->Generic data type.
->
->Joel Andersson
->
->C++ includes: generic_type.hpp 
--}
-newtype GenericType = GenericType (ForeignPtr GenericType')
--- typeclass decl
-class GenericTypeClass a where
-  castGenericType :: a -> GenericType
-instance GenericTypeClass GenericType where
-  castGenericType = id
-
--- baseclass instances
-instance SharedObjectClass GenericType where
-  castSharedObject (GenericType x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal GenericType (Ptr GenericType') where
-  marshal (GenericType x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (GenericType x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__GenericType" 
-  c_delete_casadi__GenericType :: FunPtr (Ptr GenericType' -> IO ())
-instance WrapReturn (Ptr GenericType') GenericType where
-  wrapReturn = (fmap GenericType) . (newForeignPtr c_delete_casadi__GenericType)
-
-
--- raw decl
-data HomotopyNlpSolver'
--- data decl
-{-|
->Base class for Homotopy NLP Solvers.
->
->Solves the following parametric nonlinear program (NLP):
->
->::
->
->  min          F(x, p, tau)
->   x
->  
->  subject to
->              LBX <=   x    <= UBX
->              LBG <= G(x, p) <= UBG
->                         p  == P
->  
->      nx: number of decision variables
->      ng: number of constraints
->      np: number of parameters
->  
->
->
->
->In a homotopy from tau = 0 to tau = 1.
->
->General information
->===================
->
->
->
->>Input scheme: casadi::NlpSolverInput (NLP_SOLVER_NUM_IN = 8) [nlpSolverIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::NlpSolverOutput (NLP_SOLVER_NUM_OUT = 6) [nlpSolverOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | casadi::Homo |
->|              |              |              | NLP function | topyNLPInter |
->|              |              |              | in terms of  | nal          |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_HomotopyNlpSolver_simple'>simple</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->HomotopyNlpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->simple
->------
->
->
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| nlp_solver      | OT_STRING       | GenericType()   | The NLP solver  |
->|                 |                 |                 | to be used by   |
->|                 |                 |                 | the Homotopy    |
->|                 |                 |                 | solver          |
->+-----------------+-----------------+-----------------+-----------------+
->| nlp_solver_opti | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ons             |                 |                 | passed to the   |
->|                 |                 |                 | Homotopy solver |
->+-----------------+-----------------+-----------------+-----------------+
->| num_steps       | OT_INTEGER      | 10              | Take this many  |
->|                 |                 |                 | steps to go     |
->|                 |                 |                 | from tau=0 to   |
->|                 |                 |                 | tau=1.          |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: homotopy_nlp_solver.hpp 
--}
-newtype HomotopyNlpSolver = HomotopyNlpSolver (ForeignPtr HomotopyNlpSolver')
--- typeclass decl
-class HomotopyNlpSolverClass a where
-  castHomotopyNlpSolver :: a -> HomotopyNlpSolver
-instance HomotopyNlpSolverClass HomotopyNlpSolver where
-  castHomotopyNlpSolver = id
-
--- baseclass instances
-instance FunctionClass HomotopyNlpSolver where
-  castFunction (HomotopyNlpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass HomotopyNlpSolver where
-  castOptionsFunctionality (HomotopyNlpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass HomotopyNlpSolver where
-  castSharedObject (HomotopyNlpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass HomotopyNlpSolver where
-  castIOInterfaceFunction (HomotopyNlpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal HomotopyNlpSolver (Ptr HomotopyNlpSolver') where
-  marshal (HomotopyNlpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (HomotopyNlpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__HomotopyNlpSolver" 
-  c_delete_casadi__HomotopyNlpSolver :: FunPtr (Ptr HomotopyNlpSolver' -> IO ())
-instance WrapReturn (Ptr HomotopyNlpSolver') HomotopyNlpSolver where
-  wrapReturn = (fmap HomotopyNlpSolver) . (newForeignPtr c_delete_casadi__HomotopyNlpSolver)
-
-
--- raw decl
-data IMatrix'
--- data decl
-{-|
--}
-newtype IMatrix = IMatrix (ForeignPtr IMatrix')
--- typeclass decl
-class IMatrixClass a where
-  castIMatrix :: a -> IMatrix
-instance IMatrixClass IMatrix where
-  castIMatrix = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal IMatrix (Ptr IMatrix') where
-  marshal (IMatrix x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (IMatrix x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__IMatrix" 
-  c_delete_casadi__IMatrix :: FunPtr (Ptr IMatrix' -> IO ())
-instance WrapReturn (Ptr IMatrix') IMatrix where
-  wrapReturn = (fmap IMatrix) . (newForeignPtr c_delete_casadi__IMatrix)
-
-
--- raw decl
-data IOScheme'
--- data decl
-{-|
->Class with mapping between names and indices.
->
->Joris Gillis
->
->C++ includes: io_scheme.hpp 
--}
-newtype IOScheme = IOScheme (ForeignPtr IOScheme')
--- typeclass decl
-class IOSchemeClass a where
-  castIOScheme :: a -> IOScheme
-instance IOSchemeClass IOScheme where
-  castIOScheme = id
-
--- baseclass instances
-instance SharedObjectClass IOScheme where
-  castSharedObject (IOScheme x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal IOScheme (Ptr IOScheme') where
-  marshal (IOScheme x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (IOScheme x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__IOScheme" 
-  c_delete_casadi__IOScheme :: FunPtr (Ptr IOScheme' -> IO ())
-instance WrapReturn (Ptr IOScheme') IOScheme where
-  wrapReturn = (fmap IOScheme) . (newForeignPtr c_delete_casadi__IOScheme)
-
-
--- raw decl
-data ImplicitFunction'
--- data decl
-{-|
->Abstract base class for the implicit function classes.
->
->The equation:
->
->F(z, x1, x2, ..., xn) == 0
->
->where d_F/dz is invertible, implicitly defines the equation:
->
->z := G(x1, x2, ..., xn)
->
->F should be an Function mapping from (n+1) inputs to m outputs. The first
->output is the residual that should be zero.
->
->ImplicitFunction (G) is an Function mapping from n inputs to m outputs. n
->may be zero. The first output is the solved for z.
->
->You can provide an initial guess for z by setting output(0) of
->ImplicitFunction.
->
->General information
->===================
->
->
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constraints  | OT_INTEGERVE | GenericType( | Constrain    | casadi::Impl |
->|              | CTOR         | )            | the          | icitFunction |
->|              |              |              | unknowns. 0  | Internal     |
->|              |              |              | (default):   |              |
->|              |              |              | no           |              |
->|              |              |              | constraint   |              |
->|              |              |              | on ui, 1: ui |              |
->|              |              |              | >= 0.0, -1:  |              |
->|              |              |              | ui <= 0.0,   |              |
->|              |              |              | 2: ui > 0.0, |              |
->|              |              |              | -2: ui <     |              |
->|              |              |              | 0.0.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_inp | OT_INTEGER   | 0            | Index of the | casadi::Impl |
->| ut           |              |              | input that   | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_out | OT_INTEGER   | 0            | Index of the | casadi::Impl |
->| put          |              |              | output that  | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jacobian_fun | OT_FUNCTION  | GenericType( | Function     | casadi::Impl |
->| ction        |              | )            | object for   | icitFunction |
->|              |              |              | calculating  | Internal     |
->|              |              |              | the Jacobian |              |
->|              |              |              | (autogenerat |              |
->|              |              |              | ed by        |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | GenericType( | User-defined | casadi::Impl |
->| r            |              | )            | linear       | icitFunction |
->|              |              |              | solver       | Internal     |
->|              |              |              | class.       |              |
->|              |              |              | Needed for s |              |
->|              |              |              | ensitivities |              |
->|              |              |              | .            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_FUNCTION  | GenericType( | Function     | casadi::Impl |
->| r_function   |              | )            | object for   | icitFunction |
->|              |              |              | solving the  | Internal     |
->|              |              |              | linearized   |              |
->|              |              |              | problem (aut |              |
->|              |              |              | ogenerated   |              |
->|              |              |              | by default)  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | casadi::Impl |
->| r_options    | Y            | )            | be passed to | icitFunction |
->|              |              |              | the linear   | Internal     |
->|              |              |              | solver.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_ImplicitFunction_kinsol'>kinsol</a>
->
->- <a href='#plugin_ImplicitFunction_nlp'>nlp</a>
->
->- <a href='#plugin_ImplicitFunction_newton'>newton</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->ImplicitFunction.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->kinsol
->------
->
->
->
->KINSOL interface from the Sundials suite
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| abstol          | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion       |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| disable_interna | OT_BOOLEAN      | false           | Disable KINSOL  |
->| l_warnings      |                 |                 | internal        |
->|                 |                 |                 | warning         |
->|                 |                 |                 | messages        |
->+-----------------+-----------------+-----------------+-----------------+
->| exact_jacobian  | OT_BOOLEAN      | true            |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| f_scale         | OT_REALVECTOR   |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| iterative_solve | OT_STRING       | "gmres"         | gmres|bcgstab|t |
->| r               |                 |                 | fqmr            |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_t | OT_STRING       | "dense"         | dense|banded|it |
->| ype             |                 |                 | erative|user_de |
->|                 |                 |                 | fined           |
->+-----------------+-----------------+-----------------+-----------------+
->| lower_bandwidth | OT_INTEGER      |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter        | OT_INTEGER      | 0               | Maximum number  |
->|                 |                 |                 | of Newton       |
->|                 |                 |                 | iterations.     |
->|                 |                 |                 | Putting 0 sets  |
->|                 |                 |                 | the default     |
->|                 |                 |                 | value of        |
->|                 |                 |                 | KinSol.         |
->+-----------------+-----------------+-----------------+-----------------+
->| max_krylov      | OT_INTEGER      | 0               |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| pretype         | OT_STRING       | "none"          | (none|left|righ |
->|                 |                 |                 | t|both)         |
->+-----------------+-----------------+-----------------+-----------------+
->| strategy        | OT_STRING       | "none"          | Globalization   |
->|                 |                 |                 | strategy (none| |
->|                 |                 |                 | linesearch)     |
->+-----------------+-----------------+-----------------+-----------------+
->| u_scale         | OT_REALVECTOR   |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| upper_bandwidth | OT_INTEGER      |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| use_preconditio | OT_BOOLEAN      | false           | precondition an |
->| ner             |                 |                 | iterative       |
->|                 |                 |                 | solver          |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+-----------+
->|    Id     |
->+===========+
->| eval_djac |
->+-----------+
->| eval_f    |
->+-----------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->nlp
->---
->
->
->
->Use an NlpSolver as ImplicitFunction solver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->>List of available stats
->
->+--------------+
->|      Id      |
->+==============+
->| solver_stats |
->+--------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->newton
->------
->
->
->
->Implements simple newton iterations to solve an implicit function.
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| abstol          | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion       |
->|                 |                 |                 | tolerance on    |
->|                 |                 |                 | max(|F|)        |
->+-----------------+-----------------+-----------------+-----------------+
->| abstolStep      | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion       |
->|                 |                 |                 | tolerance on    |
->|                 |                 |                 | step size       |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter        | OT_INTEGER      | 1000            | Maximum number  |
->|                 |                 |                 | of Newton       |
->|                 |                 |                 | iterations to   |
->|                 |                 |                 | perform before  |
->|                 |                 |                 | returning.      |
->+-----------------+-----------------+-----------------+-----------------+
->| print_iteration | OT_BOOLEAN      | false           | Print           |
->|                 |                 |                 | information     |
->|                 |                 |                 | about each      |
->|                 |                 |                 | iteration       |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+----------+
->|    Id    |
->+==========+
->| F        |
->+----------+
->| J        |
->+----------+
->| normF    |
->+----------+
->| step     |
->+----------+
->| stepsize |
->+----------+
->
->>List of available stats
->
->+---------------+
->|      Id       |
->+===============+
->| iter          |
->+---------------+
->| return_status |
->+---------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joel Andersson
->
->C++ includes: implicit_function.hpp 
--}
-newtype ImplicitFunction = ImplicitFunction (ForeignPtr ImplicitFunction')
--- typeclass decl
-class ImplicitFunctionClass a where
-  castImplicitFunction :: a -> ImplicitFunction
-instance ImplicitFunctionClass ImplicitFunction where
-  castImplicitFunction = id
-
--- baseclass instances
-instance FunctionClass ImplicitFunction where
-  castFunction (ImplicitFunction x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass ImplicitFunction where
-  castOptionsFunctionality (ImplicitFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass ImplicitFunction where
-  castSharedObject (ImplicitFunction x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass ImplicitFunction where
-  castIOInterfaceFunction (ImplicitFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal ImplicitFunction (Ptr ImplicitFunction') where
-  marshal (ImplicitFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ImplicitFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__ImplicitFunction" 
-  c_delete_casadi__ImplicitFunction :: FunPtr (Ptr ImplicitFunction' -> IO ())
-instance WrapReturn (Ptr ImplicitFunction') ImplicitFunction where
-  wrapReturn = (fmap ImplicitFunction) . (newForeignPtr c_delete_casadi__ImplicitFunction)
-
-
--- raw decl
-data Integrator'
--- data decl
-{-|
->Base class for integrators.
->
->Integrator abstract base class
->
->Solves an initial value problem (IVP) coupled to a terminal value problem
->with differential equation given as an implicit ODE coupled to an algebraic
->equation and a set of quadratures:
->
->::
->
->   Initial conditions at t=t0
->   x(t0)  = x0
->   q(t0)  = 0
->  
->   Forward integration from t=t0 to t=tf
->   der(x) = function(x, z, p, t)                  Forward ODE
->   0 = fz(x, z, p, t)                  Forward algebraic equations
->   der(q) = fq(x, z, p, t)                  Forward quadratures
->  
->   Terminal conditions at t=tf
->   rx(tf)  = rx0
->   rq(tf)  = 0
->  
->   Backward integration from t=tf to t=t0
->   der(rx) = gx(rx, rz, rp, x, z, p, t)        Backward ODE
->   0 = gz(rx, rz, rp, x, z, p, t)        Backward algebraic equations
->   der(rq) = gq(rx, rz, rp, x, z, p, t)        Backward quadratures
->  
->   where we assume that both the forward and backwards integrations are index-1
->   (i.e. dfz/dz, dgz/drz are invertible) and furthermore that
->   gx, gz and gq have a linear dependency on rx, rz and rp.
->
->
->
->The Integrator class provides some additional functionality, such as getting
->the value of the state and/or sensitivities at certain time points.
->
->General information
->===================
->
->
->
->>Input scheme: casadi::IntegratorInput (INTEGRATOR_NUM_IN = 6) [integratorIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::IntegratorOutput (INTEGRATOR_NUM_OUT = 6) [integratorOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | casadi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | casadi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | casadi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | casadi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | casadi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_Integrator_cvodes'>cvodes</a>
->
->- <a href='#plugin_Integrator_idas'>idas</a>
->
->- <a href='#plugin_Integrator_collocation'>collocation</a>
->
->- <a href='#plugin_Integrator_oldcollocation'>oldcollocation</a>
->
->- <a href='#plugin_Integrator_rk'>rk</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->Integrator.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->cvodes
->------
->
->
->
->Interface to CVodes from the Sundials suite.
->
->A call to evaluate will integrate to the end.
->
->You can retrieve the entire state trajectory as follows, after the evaluate
->call: Call reset. Then call integrate(t_i) and getOuput for a series of
->times t_i.
->
->Note: depending on the dimension and structure of your problem, you may
->experience a dramatic speed-up by using a sparse linear solver:
->
->
->
->::
->
->     intg.setOption("linear_solver","csparse")
->     intg.setOption("linear_solver_type","user_defined")
->
->
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| abstol          | OT_REAL         | 0.000           | Absolute        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the IVP         |
->|                 |                 |                 | solution        |
->+-----------------+-----------------+-----------------+-----------------+
->| abstolB         | OT_REAL         | GenericType()   | Absolute        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the adjoint     |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | solution        |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to abstol]      |
->+-----------------+-----------------+-----------------+-----------------+
->| disable_interna | OT_BOOLEAN      | false           | Disable CVodes  |
->| l_warnings      |                 |                 | internal        |
->|                 |                 |                 | warning         |
->|                 |                 |                 | messages        |
->+-----------------+-----------------+-----------------+-----------------+
->| exact_jacobian  | OT_BOOLEAN      | true            | Use exact       |
->|                 |                 |                 | Jacobian        |
->|                 |                 |                 | information for |
->|                 |                 |                 | the forward     |
->|                 |                 |                 | integration     |
->+-----------------+-----------------+-----------------+-----------------+
->| exact_jacobianB | OT_BOOLEAN      | GenericType()   | Use exact       |
->|                 |                 |                 | Jacobian        |
->|                 |                 |                 | information for |
->|                 |                 |                 | the backward    |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to              |
->|                 |                 |                 | exact_jacobian] |
->+-----------------+-----------------+-----------------+-----------------+
->| finite_differen | OT_BOOLEAN      | false           | Use finite      |
->| ce_fsens        |                 |                 | differences to  |
->|                 |                 |                 | approximate the |
->|                 |                 |                 | forward         |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | equations (if   |
->|                 |                 |                 | AD is not       |
->|                 |                 |                 | available)      |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_abstol    | OT_REAL         | GenericType()   | Absolute        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the forward     |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | solution        |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to abstol]      |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_all_at_on | OT_BOOLEAN      | true            | Calculate all   |
->| ce              |                 |                 | right hand      |
->|                 |                 |                 | sides of the    |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | equations at    |
->|                 |                 |                 | once            |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_err_con   | OT_BOOLEAN      | true            | include the     |
->|                 |                 |                 | forward         |
->|                 |                 |                 | sensitivities   |
->|                 |                 |                 | in all error    |
->|                 |                 |                 | controls        |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_reltol    | OT_REAL         | GenericType()   | Relative        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the forward     |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | solution        |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to reltol]      |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_scaling_f | OT_REALVECTOR   | GenericType()   | Scaling factor  |
->| actors          |                 |                 | for the         |
->|                 |                 |                 | components if   |
->|                 |                 |                 | finite          |
->|                 |                 |                 | differences is  |
->|                 |                 |                 | used            |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_sensitivi | OT_INTEGERVECTO | GenericType()   | Specifies which |
->| y_parameters    | R               |                 | components will |
->|                 |                 |                 | be used when    |
->|                 |                 |                 | estimating the  |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | equations       |
->+-----------------+-----------------+-----------------+-----------------+
->| interpolation_t | OT_STRING       | "hermite"       | Type of         |
->| ype             |                 |                 | interpolation   |
->|                 |                 |                 | for the adjoint |
->|                 |                 |                 | sensitivities ( |
->|                 |                 |                 | hermite|polynom |
->|                 |                 |                 | ial)            |
->+-----------------+-----------------+-----------------+-----------------+
->| iterative_solve | OT_STRING       | "gmres"         | (gmres|bcgstab| |
->| r               |                 |                 | tfqmr)          |
->+-----------------+-----------------+-----------------+-----------------+
->| iterative_solve | OT_STRING       | GenericType()   | (gmres|bcgstab| |
->| rB              |                 |                 | tfqmr)          |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_multiste | OT_STRING       | "bdf"           | Integrator      |
->| p_method        |                 |                 | scheme          |
->|                 |                 |                 | (bdf|adams)     |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver   | OT_STRING       | GenericType()   | A custom linear |
->|                 |                 |                 | solver creator  |
->|                 |                 |                 | function        |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solverB  | OT_STRING       | GenericType()   | A custom linear |
->|                 |                 |                 | solver creator  |
->|                 |                 |                 | function for    |
->|                 |                 |                 | backwards       |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to              |
->|                 |                 |                 | linear_solver]  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_o | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ptions          |                 |                 | passed to the   |
->|                 |                 |                 | linear solver   |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_o | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ptionsB         |                 |                 | passed to the   |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | for backwards   |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to linear_solve |
->|                 |                 |                 | r_options]      |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_t | OT_STRING       | "dense"         | (user_defined|d |
->| ype             |                 |                 | ense|banded|ite |
->|                 |                 |                 | rative)         |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_t | OT_STRING       | GenericType()   | (user_defined|d |
->| ypeB            |                 |                 | ense|banded|ite |
->|                 |                 |                 | rative)         |
->+-----------------+-----------------+-----------------+-----------------+
->| lower_bandwidth | OT_INTEGER      | GenericType()   | Lower band-     |
->|                 |                 |                 | width of banded |
->|                 |                 |                 | Jacobian        |
->|                 |                 |                 | (estimations)   |
->+-----------------+-----------------+-----------------+-----------------+
->| lower_bandwidth | OT_INTEGER      | GenericType()   | lower band-     |
->| B               |                 |                 | width of banded |
->|                 |                 |                 | jacobians for   |
->|                 |                 |                 | backward        |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to lower_bandwi |
->|                 |                 |                 | dth]            |
->+-----------------+-----------------+-----------------+-----------------+
->| max_krylov      | OT_INTEGER      | 10              | Maximum Krylov  |
->|                 |                 |                 | subspace size   |
->+-----------------+-----------------+-----------------+-----------------+
->| max_krylovB     | OT_INTEGER      | GenericType()   | Maximum krylov  |
->|                 |                 |                 | subspace size   |
->+-----------------+-----------------+-----------------+-----------------+
->| max_multistep_o | OT_INTEGER      | 5               |                 |
->| rder            |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| max_num_steps   | OT_INTEGER      | 10000           | Maximum number  |
->|                 |                 |                 | of integrator   |
->|                 |                 |                 | steps           |
->+-----------------+-----------------+-----------------+-----------------+
->| nonlinear_solve | OT_STRING       | "newton"        | (newton|functio |
->| r_iteration     |                 |                 | nal)            |
->+-----------------+-----------------+-----------------+-----------------+
->| pretype         | OT_STRING       | "none"          | (none|left|righ |
->|                 |                 |                 | t|both)         |
->+-----------------+-----------------+-----------------+-----------------+
->| pretypeB        | OT_STRING       | GenericType()   | (none|left|righ |
->|                 |                 |                 | t|both)         |
->+-----------------+-----------------+-----------------+-----------------+
->| quad_err_con    | OT_BOOLEAN      | false           | Should the      |
->|                 |                 |                 | quadratures     |
->|                 |                 |                 | affect the step |
->|                 |                 |                 | size control    |
->+-----------------+-----------------+-----------------+-----------------+
->| reltol          | OT_REAL         | 0.000           | Relative        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the IVP         |
->|                 |                 |                 | solution        |
->+-----------------+-----------------+-----------------+-----------------+
->| reltolB         | OT_REAL         | GenericType()   | Relative        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the adjoint     |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | solution        |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to reltol]      |
->+-----------------+-----------------+-----------------+-----------------+
->| sensitivity_met | OT_STRING       | "simultaneous"  | (simultaneous|s |
->| hod             |                 |                 | taggered)       |
->+-----------------+-----------------+-----------------+-----------------+
->| steps_per_check | OT_INTEGER      | 20              | Number of steps |
->| point           |                 |                 | between two     |
->|                 |                 |                 | consecutive     |
->|                 |                 |                 | checkpoints     |
->+-----------------+-----------------+-----------------+-----------------+
->| stop_at_end     | OT_BOOLEAN      | true            | Stop the        |
->|                 |                 |                 | integrator at   |
->|                 |                 |                 | the end of the  |
->|                 |                 |                 | interval        |
->+-----------------+-----------------+-----------------+-----------------+
->| upper_bandwidth | OT_INTEGER      | GenericType()   | Upper band-     |
->|                 |                 |                 | width of banded |
->|                 |                 |                 | Jacobian        |
->|                 |                 |                 | (estimations)   |
->+-----------------+-----------------+-----------------+-----------------+
->| upper_bandwidth | OT_INTEGER      | GenericType()   | Upper band-     |
->| B               |                 |                 | width of banded |
->|                 |                 |                 | jacobians for   |
->|                 |                 |                 | backward        |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to upper_bandwi |
->|                 |                 |                 | dth]            |
->+-----------------+-----------------+-----------------+-----------------+
->| use_preconditio | OT_BOOLEAN      | false           | Precondition an |
->| ner             |                 |                 | iterative       |
->|                 |                 |                 | solver          |
->+-----------------+-----------------+-----------------+-----------------+
->| use_preconditio | OT_BOOLEAN      | GenericType()   | Precondition an |
->| nerB            |                 |                 | iterative       |
->|                 |                 |                 | solver for the  |
->|                 |                 |                 | backwards       |
->|                 |                 |                 | problem         |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to use_precondi |
->|                 |                 |                 | tioner]         |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+---------+
->|   Id    |
->+=========+
->| djacB   |
->+---------+
->| psetupB |
->+---------+
->| res     |
->+---------+
->| resB    |
->+---------+
->| resQB   |
->+---------+
->| reset   |
->+---------+
->
->>List of available stats
->
->+-------------+
->|     Id      |
->+=============+
->| nlinsetups  |
->+-------------+
->| nlinsetupsB |
->+-------------+
->| nsteps      |
->+-------------+
->| nstepsB     |
->+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->idas
->----
->
->
->
->Interface to IDAS from the Sundials suite.
->
->Note: depending on the dimension and structure of your problem, you may
->experience a dramatic speed-up by using a sparse linear solver:
->
->
->
->::
->
->     intg.setOption("linear_solver","csparse")
->     intg.setOption("linear_solver_type","user_defined")
->
->
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| abstol          | OT_REAL         | 0.000           | Absolute        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the IVP         |
->|                 |                 |                 | solution        |
->+-----------------+-----------------+-----------------+-----------------+
->| abstolB         | OT_REAL         | GenericType()   | Absolute        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the adjoint     |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | solution        |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to abstol]      |
->+-----------------+-----------------+-----------------+-----------------+
->| abstolv         | OT_REALVECTOR   |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| calc_ic         | OT_BOOLEAN      | true            | Use IDACalcIC   |
->|                 |                 |                 | to get          |
->|                 |                 |                 | consistent      |
->|                 |                 |                 | initial         |
->|                 |                 |                 | conditions.     |
->+-----------------+-----------------+-----------------+-----------------+
->| calc_icB        | OT_BOOLEAN      | GenericType()   | Use IDACalcIC   |
->|                 |                 |                 | to get          |
->|                 |                 |                 | consistent      |
->|                 |                 |                 | initial         |
->|                 |                 |                 | conditions for  |
->|                 |                 |                 | backwards       |
->|                 |                 |                 | system          |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to calc_ic].    |
->+-----------------+-----------------+-----------------+-----------------+
->| cj_scaling      | OT_BOOLEAN      | false           | IDAS scaling on |
->|                 |                 |                 | cj for the      |
->|                 |                 |                 | user-defined    |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | module          |
->+-----------------+-----------------+-----------------+-----------------+
->| disable_interna | OT_BOOLEAN      | false           | Disable IDAS    |
->| l_warnings      |                 |                 | internal        |
->|                 |                 |                 | warning         |
->|                 |                 |                 | messages        |
->+-----------------+-----------------+-----------------+-----------------+
->| exact_jacobian  | OT_BOOLEAN      | true            | Use exact       |
->|                 |                 |                 | Jacobian        |
->|                 |                 |                 | information for |
->|                 |                 |                 | the forward     |
->|                 |                 |                 | integration     |
->+-----------------+-----------------+-----------------+-----------------+
->| exact_jacobianB | OT_BOOLEAN      | GenericType()   | Use exact       |
->|                 |                 |                 | Jacobian        |
->|                 |                 |                 | information for |
->|                 |                 |                 | the backward    |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to              |
->|                 |                 |                 | exact_jacobian] |
->+-----------------+-----------------+-----------------+-----------------+
->| extra_fsens_cal | OT_BOOLEAN      | false           | Call calc ic an |
->| c_ic            |                 |                 | extra time,     |
->|                 |                 |                 | with fsens=0    |
->+-----------------+-----------------+-----------------+-----------------+
->| finite_differen | OT_BOOLEAN      | false           | Use finite      |
->| ce_fsens        |                 |                 | differences to  |
->|                 |                 |                 | approximate the |
->|                 |                 |                 | forward         |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | equations (if   |
->|                 |                 |                 | AD is not       |
->|                 |                 |                 | available)      |
->+-----------------+-----------------+-----------------+-----------------+
->| first_time      | OT_REAL         | GenericType()   | First requested |
->|                 |                 |                 | time as a       |
->|                 |                 |                 | fraction of the |
->|                 |                 |                 | time interval   |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_abstol    | OT_REAL         | GenericType()   | Absolute        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the forward     |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | solution        |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to abstol]      |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_abstolv   | OT_REALVECTOR   |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_err_con   | OT_BOOLEAN      | true            | include the     |
->|                 |                 |                 | forward         |
->|                 |                 |                 | sensitivities   |
->|                 |                 |                 | in all error    |
->|                 |                 |                 | controls        |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_reltol    | OT_REAL         | GenericType()   | Relative        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the forward     |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | solution        |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to reltol]      |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_scaling_f | OT_REALVECTOR   | GenericType()   | Scaling factor  |
->| actors          |                 |                 | for the         |
->|                 |                 |                 | components if   |
->|                 |                 |                 | finite          |
->|                 |                 |                 | differences is  |
->|                 |                 |                 | used            |
->+-----------------+-----------------+-----------------+-----------------+
->| fsens_sensitivi | OT_INTEGERVECTO | GenericType()   | Specifies which |
->| y_parameters    | R               |                 | components will |
->|                 |                 |                 | be used when    |
->|                 |                 |                 | estimating the  |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | equations       |
->+-----------------+-----------------+-----------------+-----------------+
->| init_xdot       | OT_REALVECTOR   | GenericType()   | Initial values  |
->|                 |                 |                 | for the state   |
->|                 |                 |                 | derivatives     |
->+-----------------+-----------------+-----------------+-----------------+
->| interpolation_t | OT_STRING       | "hermite"       | Type of         |
->| ype             |                 |                 | interpolation   |
->|                 |                 |                 | for the adjoint |
->|                 |                 |                 | sensitivities ( |
->|                 |                 |                 | hermite|polynom |
->|                 |                 |                 | ial)            |
->+-----------------+-----------------+-----------------+-----------------+
->| iterative_solve | OT_STRING       | "gmres"         | (gmres|bcgstab| |
->| r               |                 |                 | tfqmr)          |
->+-----------------+-----------------+-----------------+-----------------+
->| iterative_solve | OT_STRING       | GenericType()   | (gmres|bcgstab| |
->| rB              |                 |                 | tfqmr)          |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver   | OT_STRING       | GenericType()   | A custom linear |
->|                 |                 |                 | solver creator  |
->|                 |                 |                 | function        |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solverB  | OT_STRING       | GenericType()   | A custom linear |
->|                 |                 |                 | solver creator  |
->|                 |                 |                 | function for    |
->|                 |                 |                 | backwards       |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to              |
->|                 |                 |                 | linear_solver]  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_o | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ptions          |                 |                 | passed to the   |
->|                 |                 |                 | linear solver   |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_o | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ptionsB         |                 |                 | passed to the   |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | for backwards   |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to linear_solve |
->|                 |                 |                 | r_options]      |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_t | OT_STRING       | "dense"         | (user_defined|d |
->| ype             |                 |                 | ense|banded|ite |
->|                 |                 |                 | rative)         |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver_t | OT_STRING       | GenericType()   | (user_defined|d |
->| ypeB            |                 |                 | ense|banded|ite |
->|                 |                 |                 | rative)         |
->+-----------------+-----------------+-----------------+-----------------+
->| lower_bandwidth | OT_INTEGER      | GenericType()   | Lower band-     |
->|                 |                 |                 | width of banded |
->|                 |                 |                 | Jacobian        |
->|                 |                 |                 | (estimations)   |
->+-----------------+-----------------+-----------------+-----------------+
->| lower_bandwidth | OT_INTEGER      | GenericType()   | lower band-     |
->| B               |                 |                 | width of banded |
->|                 |                 |                 | jacobians for   |
->|                 |                 |                 | backward        |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to lower_bandwi |
->|                 |                 |                 | dth]            |
->+-----------------+-----------------+-----------------+-----------------+
->| max_krylov      | OT_INTEGER      | 10              | Maximum Krylov  |
->|                 |                 |                 | subspace size   |
->+-----------------+-----------------+-----------------+-----------------+
->| max_krylovB     | OT_INTEGER      | GenericType()   | Maximum krylov  |
->|                 |                 |                 | subspace size   |
->+-----------------+-----------------+-----------------+-----------------+
->| max_multistep_o | OT_INTEGER      | 5               |                 |
->| rder            |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| max_num_steps   | OT_INTEGER      | 10000           | Maximum number  |
->|                 |                 |                 | of integrator   |
->|                 |                 |                 | steps           |
->+-----------------+-----------------+-----------------+-----------------+
->| max_step_size   | OT_REAL         | 0               | Maximim step    |
->|                 |                 |                 | size            |
->+-----------------+-----------------+-----------------+-----------------+
->| pretype         | OT_STRING       | "none"          | (none|left|righ |
->|                 |                 |                 | t|both)         |
->+-----------------+-----------------+-----------------+-----------------+
->| pretypeB        | OT_STRING       | GenericType()   | (none|left|righ |
->|                 |                 |                 | t|both)         |
->+-----------------+-----------------+-----------------+-----------------+
->| quad_err_con    | OT_BOOLEAN      | false           | Should the      |
->|                 |                 |                 | quadratures     |
->|                 |                 |                 | affect the step |
->|                 |                 |                 | size control    |
->+-----------------+-----------------+-----------------+-----------------+
->| reltol          | OT_REAL         | 0.000           | Relative        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the IVP         |
->|                 |                 |                 | solution        |
->+-----------------+-----------------+-----------------+-----------------+
->| reltolB         | OT_REAL         | GenericType()   | Relative        |
->|                 |                 |                 | tolerence for   |
->|                 |                 |                 | the adjoint     |
->|                 |                 |                 | sensitivity     |
->|                 |                 |                 | solution        |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to reltol]      |
->+-----------------+-----------------+-----------------+-----------------+
->| sensitivity_met | OT_STRING       | "simultaneous"  | (simultaneous|s |
->| hod             |                 |                 | taggered)       |
->+-----------------+-----------------+-----------------+-----------------+
->| steps_per_check | OT_INTEGER      | 20              | Number of steps |
->| point           |                 |                 | between two     |
->|                 |                 |                 | consecutive     |
->|                 |                 |                 | checkpoints     |
->+-----------------+-----------------+-----------------+-----------------+
->| stop_at_end     | OT_BOOLEAN      | true            | Stop the        |
->|                 |                 |                 | integrator at   |
->|                 |                 |                 | the end of the  |
->|                 |                 |                 | interval        |
->+-----------------+-----------------+-----------------+-----------------+
->| suppress_algebr | OT_BOOLEAN      | false           | Suppress        |
->| aic             |                 |                 | algebraic       |
->|                 |                 |                 | variables in    |
->|                 |                 |                 | the error       |
->|                 |                 |                 | testing         |
->+-----------------+-----------------+-----------------+-----------------+
->| upper_bandwidth | OT_INTEGER      | GenericType()   | Upper band-     |
->|                 |                 |                 | width of banded |
->|                 |                 |                 | Jacobian        |
->|                 |                 |                 | (estimations)   |
->+-----------------+-----------------+-----------------+-----------------+
->| upper_bandwidth | OT_INTEGER      | GenericType()   | Upper band-     |
->| B               |                 |                 | width of banded |
->|                 |                 |                 | jacobians for   |
->|                 |                 |                 | backward        |
->|                 |                 |                 | integration     |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to upper_bandwi |
->|                 |                 |                 | dth]            |
->+-----------------+-----------------+-----------------+-----------------+
->| use_preconditio | OT_BOOLEAN      | false           | Precondition an |
->| ner             |                 |                 | iterative       |
->|                 |                 |                 | solver          |
->+-----------------+-----------------+-----------------+-----------------+
->| use_preconditio | OT_BOOLEAN      | GenericType()   | Precondition an |
->| nerB            |                 |                 | iterative       |
->|                 |                 |                 | solver for the  |
->|                 |                 |                 | backwards       |
->|                 |                 |                 | problem         |
->|                 |                 |                 | [default: equal |
->|                 |                 |                 | to use_precondi |
->|                 |                 |                 | tioner]         |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+--------------------------+
->|            Id            |
->+==========================+
->| bjacB                    |
->+--------------------------+
->| correctInitialConditions |
->+--------------------------+
->| jtimesB                  |
->+--------------------------+
->| psetup                   |
->+--------------------------+
->| psetupB                  |
->+--------------------------+
->| psolveB                  |
->+--------------------------+
->| res                      |
->+--------------------------+
->| resB                     |
->+--------------------------+
->| resS                     |
->+--------------------------+
->| rhsQB                    |
->+--------------------------+
->
->>List of available stats
->
->+-------------+
->|     Id      |
->+=============+
->| nlinsetups  |
->+-------------+
->| nlinsetupsB |
->+-------------+
->| nsteps      |
->+-------------+
->| nstepsB     |
->+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->collocation
->-----------
->
->
->
->Fixed-step implicit Runge-Kutta integrator ODE/DAE integrator based on
->collocation schemes
->
->The method is still under development
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| collocation_sch | OT_STRING       | "radau"         | Collocation     |
->| eme             |                 |                 | scheme (radau|l |
->|                 |                 |                 | egendre)        |
->+-----------------+-----------------+-----------------+-----------------+
->| implicit_solver | OT_STRING       | GenericType()   | An implicit     |
->|                 |                 |                 | function solver |
->+-----------------+-----------------+-----------------+-----------------+
->| implicit_solver | OT_DICTIONARY   | GenericType()   | Options to be   |
->| _options        |                 |                 | passed to the   |
->|                 |                 |                 | NLP Solver      |
->+-----------------+-----------------+-----------------+-----------------+
->| interpolation_o | OT_INTEGER      | 3               | Order of the    |
->| rder            |                 |                 | interpolating   |
->|                 |                 |                 | polynomials     |
->+-----------------+-----------------+-----------------+-----------------+
->| number_of_finit | OT_INTEGER      | 20              | Number of       |
->| e_elements      |                 |                 | finite elements |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->oldcollocation
->--------------
->
->
->
->Collocation integrator ODE/DAE integrator based on collocation
->
->The method is still under development
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| collocation_sch | OT_STRING       | "radau"         | Collocation     |
->| eme             |                 |                 | scheme (radau|l |
->|                 |                 |                 | egendre)        |
->+-----------------+-----------------+-----------------+-----------------+
->| expand_f        | OT_BOOLEAN      | false           | Expand the      |
->|                 |                 |                 | ODE/DAE         |
->|                 |                 |                 | residual        |
->|                 |                 |                 | function in an  |
->|                 |                 |                 | SX graph        |
->+-----------------+-----------------+-----------------+-----------------+
->| expand_q        | OT_BOOLEAN      | false           | Expand the      |
->|                 |                 |                 | quadrature      |
->|                 |                 |                 | function in an  |
->|                 |                 |                 | SX graph        |
->+-----------------+-----------------+-----------------+-----------------+
->| hotstart        | OT_BOOLEAN      | true            | Initialize the  |
->|                 |                 |                 | trajectory at   |
->|                 |                 |                 | the previous    |
->|                 |                 |                 | solution        |
->+-----------------+-----------------+-----------------+-----------------+
->| implicit_solver | OT_STRING       | GenericType()   | An implicit     |
->|                 |                 |                 | function solver |
->+-----------------+-----------------+-----------------+-----------------+
->| implicit_solver | OT_DICTIONARY   | GenericType()   | Options to be   |
->| _options        |                 |                 | passed to the   |
->|                 |                 |                 | implicit solver |
->+-----------------+-----------------+-----------------+-----------------+
->| interpolation_o | OT_INTEGER      | 3               | Order of the    |
->| rder            |                 |                 | interpolating   |
->|                 |                 |                 | polynomials     |
->+-----------------+-----------------+-----------------+-----------------+
->| number_of_finit | OT_INTEGER      | 20              | Number of       |
->| e_elements      |                 |                 | finite elements |
->+-----------------+-----------------+-----------------+-----------------+
->| startup_integra | OT_STRING       | GenericType()   | An ODE/DAE      |
->| tor             |                 |                 | integrator that |
->|                 |                 |                 | can be used to  |
->|                 |                 |                 | generate a      |
->|                 |                 |                 | startup         |
->|                 |                 |                 | trajectory      |
->+-----------------+-----------------+-----------------+-----------------+
->| startup_integra | OT_DICTIONARY   | GenericType()   | Options to be   |
->| tor_options     |                 |                 | passed to the   |
->|                 |                 |                 | startup         |
->|                 |                 |                 | integrator      |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->rk --
->
->
->
->Fixed-step explicit Runge-Kutta integrator for ODEs Currently implements
->RK4.
->
->The method is still under development
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| number_of_finit | OT_INTEGER      | 20              | Number of       |
->| e_elements      |                 |                 | finite elements |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joel Andersson
->
->C++ includes: integrator.hpp 
--}
-newtype Integrator = Integrator (ForeignPtr Integrator')
--- typeclass decl
-class IntegratorClass a where
-  castIntegrator :: a -> Integrator
-instance IntegratorClass Integrator where
-  castIntegrator = id
-
--- baseclass instances
-instance FunctionClass Integrator where
-  castFunction (Integrator x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass Integrator where
-  castOptionsFunctionality (Integrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass Integrator where
-  castSharedObject (Integrator x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Integrator where
-  castIOInterfaceFunction (Integrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Integrator (Ptr Integrator') where
-  marshal (Integrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Integrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Integrator" 
-  c_delete_casadi__Integrator :: FunPtr (Ptr Integrator' -> IO ())
-instance WrapReturn (Ptr Integrator') Integrator where
-  wrapReturn = (fmap Integrator) . (newForeignPtr c_delete_casadi__Integrator)
-
-
--- raw decl
-data LinearSolver'
--- data decl
-{-|
->Base class for the linear solver classes.
->
->Solves the linear system A*X = B or A^T*X = B for X with A square and non-
->singular
->
->If A is structurally singular, an error will be thrown during init. If A is
->numerically singular, the prepare step will fail.
->
->The usual procedure to use LinearSolver is:  init()
->
->set the first input (A)
->
->prepare()
->
->set the second input (b)
->
->solve()
->
->Repeat steps 4 and 5 to work with other b vectors.
->
->The method evaluate() combines the prepare() and solve() step and is
->therefore more expensive if A is invariant.
->
->General information
->===================
->
->
->
->>Input scheme: casadi::LinsolInput (LINSOL_NUM_IN = 2) [linsolIn]
->
->+-----------+-------+------------------------------------------------+
->| Full name | Short |                  Description                   |
->+===========+=======+================================================+
->| LINSOL_A  | A     | The square matrix A: sparse, (n x n). .        |
->+-----------+-------+------------------------------------------------+
->| LINSOL_B  | B     | The right-hand-side matrix b: dense, (n x m) . |
->+-----------+-------+------------------------------------------------+
->
->>Output scheme: casadi::LinsolOutput (LINSOL_NUM_OUT = 1) [linsolOut]
->
->+-----------+-------+----------------------------------------------+
->| Full name | Short |                 Description                  |
->+===========+=======+==============================================+
->| LINSOL_X  | X     | Solution to the linear system of equations . |
->+-----------+-------+----------------------------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_LinearSolver_csparsecholesky'>csparsecholesky</a>
->
->- <a href='#plugin_LinearSolver_csparse'>csparse</a>
->
->- <a href='#plugin_LinearSolver_lapacklu'>lapacklu</a>
->
->- <a href='#plugin_LinearSolver_lapackqr'>lapackqr</a>
->
->- <a href='#plugin_LinearSolver_symbolicqr'>symbolicqr</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->LinearSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->csparsecholesky
->---------------
->
->
->
->LinearSolver with CSparseCholesky Interface
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->csparse
->-------
->
->
->
->LinearSolver with CSparse Interface
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->lapacklu
->--------
->
->
->
->This class solves the linear system A.x=b by making an LU factorization of
->A: A = L.U, with L lower and U upper triangular
->
->>List of available options
->
->+-----------------------------+------------+---------+-------------+
->|             Id              |    Type    | Default | Description |
->+=============================+============+=========+=============+
->| allow_equilibration_failure | OT_BOOLEAN | false   |             |
->+-----------------------------+------------+---------+-------------+
->| equilibration               | OT_BOOLEAN | true    |             |
->+-----------------------------+------------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->lapackqr
->--------
->
->
->
->This class solves the linear system A.x=b by making an QR factorization of
->A: A = Q.R, with Q orthogonal and R upper triangular
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->symbolicqr
->----------
->
->
->
->LinearSolver based on QR factorization with sparsity pattern based
->reordering without partial pivoting
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| codegen         | OT_BOOLEAN      | false           | C-code          |
->|                 |                 |                 | generation      |
->+-----------------+-----------------+-----------------+-----------------+
->| compiler        | OT_STRING       | "gcc -fPIC -O2" | Compiler        |
->|                 |                 |                 | command to be   |
->|                 |                 |                 | used for        |
->|                 |                 |                 | compiling       |
->|                 |                 |                 | generated code  |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joel Andersson
->
->C++ includes: linear_solver.hpp 
--}
-newtype LinearSolver = LinearSolver (ForeignPtr LinearSolver')
--- typeclass decl
-class LinearSolverClass a where
-  castLinearSolver :: a -> LinearSolver
-instance LinearSolverClass LinearSolver where
-  castLinearSolver = id
-
--- baseclass instances
-instance FunctionClass LinearSolver where
-  castFunction (LinearSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass LinearSolver where
-  castOptionsFunctionality (LinearSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass LinearSolver where
-  castSharedObject (LinearSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass LinearSolver where
-  castIOInterfaceFunction (LinearSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal LinearSolver (Ptr LinearSolver') where
-  marshal (LinearSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (LinearSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__LinearSolver" 
-  c_delete_casadi__LinearSolver :: FunPtr (Ptr LinearSolver' -> IO ())
-instance WrapReturn (Ptr LinearSolver') LinearSolver where
-  wrapReturn = (fmap LinearSolver) . (newForeignPtr c_delete_casadi__LinearSolver)
-
-
--- raw decl
-data LpSolver'
--- data decl
-{-|
->LpSolver.
->
->Solves the following linear problem:
->
->
->
->::
->
->  min          c' x
->  x
->  
->  subject to
->  LBA <= A x <= UBA
->  LBX <= x   <= UBX
->  
->  with x ( n x 1)
->  c ( n x 1 )
->  A sparse matrix ( nc x n)
->  LBA, UBA dense vector (nc x 1)
->  LBX, UBX dense vector (n x 1)
->  
->  n: number of decision variables (x)
->  nc: number of constraints (A)
->
->
->
->General information
->===================
->
->
->
->>Input scheme: casadi::LpSolverInput (LP_SOLVER_NUM_IN = 6) [lpIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| LP_SOLVER_C            | c                      | The vector c: dense (n |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_A            | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LBA          | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_UBA          | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LBX          | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_UBX          | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::LpSolverOutput (LP_SOLVER_NUM_OUT = 4) [lpOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| LP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_LpSolver_qp'>qp</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->LpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->qp --
->
->
->
->Solve LPs using a QpSolver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->>List of available stats
->
->+-----------------+
->|       Id        |
->+=================+
->| qp_solver_stats |
->+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: lp_solver.hpp 
--}
-newtype LpSolver = LpSolver (ForeignPtr LpSolver')
--- typeclass decl
-class LpSolverClass a where
-  castLpSolver :: a -> LpSolver
-instance LpSolverClass LpSolver where
-  castLpSolver = id
-
--- baseclass instances
-instance FunctionClass LpSolver where
-  castFunction (LpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass LpSolver where
-  castOptionsFunctionality (LpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass LpSolver where
-  castSharedObject (LpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass LpSolver where
-  castIOInterfaceFunction (LpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal LpSolver (Ptr LpSolver') where
-  marshal (LpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (LpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__LpSolver" 
-  c_delete_casadi__LpSolver :: FunPtr (Ptr LpSolver' -> IO ())
-instance WrapReturn (Ptr LpSolver') LpSolver where
-  wrapReturn = (fmap LpSolver) . (newForeignPtr c_delete_casadi__LpSolver)
-
-
--- raw decl
-data LrDleSolver'
--- data decl
-{-|
->Base class for Low-rank Discrete Lyapunov Equation Solvers.
->
->
->
->::
->
->  A in R^(n x n)
->  V in S^m
->  C in R^(n x m)
->  Hi in R^(n x Hsi)
->  
->
->
->
->finds $P$ that satisfies:
->
->
->
->::
->
->  P = A P A' + C V C'
->  
->
->
->
->and outputs
->
->Yi = Hi^T P Hi
->
->General information
->===================
->
->
->
->>Input scheme: casadi::LR_DLEInput (LR_DLE_NUM_IN = 4) [lrdleIn]
->
->+-----------+-------+----------------------------------------+
->| Full name | Short |              Description               |
->+===========+=======+========================================+
->| LR_DLE_A  | a     | A matrix .                             |
->+-----------+-------+----------------------------------------+
->| LR_DLE_V  | v     | V matrix .                             |
->+-----------+-------+----------------------------------------+
->| LR_DLE_C  | c     | C matrix .                             |
->+-----------+-------+----------------------------------------+
->| LR_DLE_H  | h     | H matrix: horizontal stack of all Hi . |
->+-----------+-------+----------------------------------------+
->
->>Output scheme: casadi::LR_DLEOutput (LR_DLE_NUM_OUT = 1) [lrdleOut]
->
->+-----------+-------+--------------------------+
->| Full name | Short |       Description        |
->+===========+=======+==========================+
->| LR_DLE_Y  | y     | Y matrix, blkdiag form . |
->+-----------+-------+--------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eps_unstable | OT_REAL      | 0.000        | A margin for | casadi::LrDl |
->|              |              |              | unstability  | eInternal    |
->|              |              |              | detection    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| error_unstab | OT_BOOLEAN   | false        | Throw an     | casadi::LrDl |
->| le           |              |              | exception    | eInternal    |
->|              |              |              | when it is   |              |
->|              |              |              | detected     |              |
->|              |              |              | that         |              |
->|              |              |              | Product(A_i, |              |
->|              |              |              | i=N..1) has  |              |
->|              |              |              | eigenvalues  |              |
->|              |              |              | greater than |              |
->|              |              |              | 1-eps_unstab |              |
->|              |              |              | le           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pos_def      | OT_BOOLEAN   | false        | Assume P     | casadi::LrDl |
->|              |              |              | positive     | eInternal    |
->|              |              |              | definite     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_LrDleSolver_dle'>dle</a>
->
->- <a href='#plugin_LrDleSolver_fixed_smith'>fixed_smith</a>
->
->- <a href='#plugin_LrDleSolver_smith'>smith</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->LrDleSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->dle
->---
->
->
->
->Solving the Low-Rank Discrete Lyapunov Equations with a regular Discrete
->Lyapunov Equations solver
->
->Solving the Discrete Lyapunov Equations with a Low-rank Discrete Lyapunov
->Equations solver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->fixed_smith
->-----------
->
->
->
->Solving the Discrete Lyapunov Equations with a regular LinearSolver
->DleSolversmith  LrDleSolversmith
->
->>List of available options
->
->+------+------------+---------+----------------------------+
->|  Id  |    Type    | Default |        Description         |
->+======+============+=========+============================+
->| iter | OT_INTEGER | 100     | Number of Smith iterations |
->+------+------------+---------+----------------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->smith
->-----
->
->
->
->Solving the Low-rank Discrete Lyapunov Equations with Smith iterations
->
->DleSolversmith  LrDleSolversmith
->
->Implementation details: We avoid ever holding P in memory as it might be
->large norm_inf_mul_tt was used to obtain a stopping criteria
->
->We avoid memory allocation in evaluate. All sparsity pattern calculations
->have been done at init
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| max_iter        | OT_INTEGER      | 100             | Maximum number  |
->|                 |                 |                 | of iterations   |
->|                 |                 |                 | for the         |
->|                 |                 |                 | algorithm       |
->+-----------------+-----------------+-----------------+-----------------+
->| print_iteration | OT_BOOLEAN      | false           | Print           |
->|                 |                 |                 | information     |
->|                 |                 |                 | about each      |
->|                 |                 |                 | iteration       |
->+-----------------+-----------------+-----------------+-----------------+
->| tol             | OT_REAL         | 0.000           | Tolerance for   |
->|                 |                 |                 | satisfying the  |
->|                 |                 |                 | Lyapunov        |
->|                 |                 |                 | equation.       |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available stats
->
->+------------+
->|     Id     |
->+============+
->| iter_count |
->+------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: lr_dle_solver.hpp 
--}
-newtype LrDleSolver = LrDleSolver (ForeignPtr LrDleSolver')
--- typeclass decl
-class LrDleSolverClass a where
-  castLrDleSolver :: a -> LrDleSolver
-instance LrDleSolverClass LrDleSolver where
-  castLrDleSolver = id
-
--- baseclass instances
-instance FunctionClass LrDleSolver where
-  castFunction (LrDleSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass LrDleSolver where
-  castOptionsFunctionality (LrDleSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass LrDleSolver where
-  castSharedObject (LrDleSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass LrDleSolver where
-  castIOInterfaceFunction (LrDleSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal LrDleSolver (Ptr LrDleSolver') where
-  marshal (LrDleSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (LrDleSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__LrDleSolver" 
-  c_delete_casadi__LrDleSolver :: FunPtr (Ptr LrDleSolver' -> IO ())
-instance WrapReturn (Ptr LrDleSolver') LrDleSolver where
-  wrapReturn = (fmap LrDleSolver) . (newForeignPtr c_delete_casadi__LrDleSolver)
-
-
--- raw decl
-data LrDpleSolver'
--- data decl
-{-|
->Base class for Discrete Periodic Lyapunov Equation Solvers.
->
->Given matrices $A_k$ and symmetric $V_k, k = 0..K-1$
->
->
->
->::
->
->  A_k in R^(n x n)
->  V_k in R^n
->  
->
->
->
->provides all of $P_k$ that satisfy:
->
->
->
->::
->
->  P_0 = A_(K-1)*P_(K-1)*A_(K-1)' + V_k
->  P_k+1 = A_k*P_k*A_k' + V_k  for k = 1..K-1
->  
->
->
->
->General information
->===================
->
->
->
->>Input scheme: casadi::LR_DPLEInput (LR_DPLE_NUM_IN = 4) [lrdpleIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| LR_DPLE_A              | a                      | A matrices (horzcat    |
->|                        |                        | when const_dim,        |
->|                        |                        | blkdiag otherwise) .   |
->+------------------------+------------------------+------------------------+
->| LR_DPLE_V              | v                      | V matrices (horzcat    |
->|                        |                        | when const_dim,        |
->|                        |                        | blkdiag otherwise) .   |
->+------------------------+------------------------+------------------------+
->| LR_DPLE_C              | c                      | C matrix .             |
->+------------------------+------------------------+------------------------+
->| LR_DPLE_H              | h                      | H matrix: horizontal   |
->|                        |                        | stack of all Hi .      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::LR_DPLEOutput (LR_DPLE_NUM_OUT = 1) [lrdpleOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| LR_DPLE_Y              | y                      | Lyapunov matrix        |
->|                        |                        | (horzcat when          |
->|                        |                        | const_dim, blkdiag     |
->|                        |                        | otherwise) (Cholesky   |
->|                        |                        | of P if pos_def) .     |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| const_dim    | OT_BOOLEAN   | true         | Assume       | casadi::LrDp |
->|              |              |              | constant     | leInternal   |
->|              |              |              | dimension of |              |
->|              |              |              | P            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eps_unstable | OT_REAL      | 0.000        | A margin for | casadi::LrDp |
->|              |              |              | unstability  | leInternal   |
->|              |              |              | detection    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| error_unstab | OT_BOOLEAN   | false        | Throw an     | casadi::LrDp |
->| le           |              |              | exception    | leInternal   |
->|              |              |              | when it is   |              |
->|              |              |              | detected     |              |
->|              |              |              | that         |              |
->|              |              |              | Product(A_i, |              |
->|              |              |              | i=N..1) has  |              |
->|              |              |              | eigenvalues  |              |
->|              |              |              | greater than |              |
->|              |              |              | 1-eps_unstab |              |
->|              |              |              | le           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pos_def      | OT_BOOLEAN   | false        | Assume P     | casadi::LrDp |
->|              |              |              | positive     | leInternal   |
->|              |              |              | definite     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_LrDpleSolver_dple'>dple</a>
->
->- <a href='#plugin_LrDpleSolver_lifting'>lifting</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->LrDpleSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->dple
->----
->
->
->
->Solving the Low-Rank Discrete Lyapunov Equations with a Low-Rank Discrete
->Lyapunov Equations Solver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->lifting
->-------
->
->
->
->Solving the Discrete Periodic Lyapunov Equations by lifting the entire
->period to a single Discrete Lyapunov Equation
->
->>List of available options
->
->+------+-----------+---------+-----------------------------------+
->|  Id  |   Type    | Default |            Description            |
->+======+===========+=========+===================================+
->| form | OT_STRING | "A"     | The form of the lifting (A:0|B:1) |
->+------+-----------+---------+-----------------------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: lr_dple_solver.hpp 
--}
-newtype LrDpleSolver = LrDpleSolver (ForeignPtr LrDpleSolver')
--- typeclass decl
-class LrDpleSolverClass a where
-  castLrDpleSolver :: a -> LrDpleSolver
-instance LrDpleSolverClass LrDpleSolver where
-  castLrDpleSolver = id
-
--- baseclass instances
-instance FunctionClass LrDpleSolver where
-  castFunction (LrDpleSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass LrDpleSolver where
-  castOptionsFunctionality (LrDpleSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass LrDpleSolver where
-  castSharedObject (LrDpleSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass LrDpleSolver where
-  castIOInterfaceFunction (LrDpleSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal LrDpleSolver (Ptr LrDpleSolver') where
-  marshal (LrDpleSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (LrDpleSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__LrDpleSolver" 
-  c_delete_casadi__LrDpleSolver :: FunPtr (Ptr LrDpleSolver' -> IO ())
-instance WrapReturn (Ptr LrDpleSolver') LrDpleSolver where
-  wrapReturn = (fmap LrDpleSolver) . (newForeignPtr c_delete_casadi__LrDpleSolver)
-
-
--- raw decl
-data MX'
--- data decl
-{-|
--}
-newtype MX = MX (ForeignPtr MX')
--- typeclass decl
-class MXClass a where
-  castMX :: a -> MX
-instance MXClass MX where
-  castMX = id
-
--- baseclass instances
-instance SharedObjectClass MX where
-  castSharedObject (MX x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal MX (Ptr MX') where
-  marshal (MX x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (MX x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__MX" 
-  c_delete_casadi__MX :: FunPtr (Ptr MX' -> IO ())
-instance WrapReturn (Ptr MX') MX where
-  wrapReturn = (fmap MX) . (newForeignPtr c_delete_casadi__MX)
-
-
--- raw decl
-data MXFunction'
--- data decl
-{-|
->General function mapping from/to MX.
->
->Joel Andersson
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->C++ includes: mx_function.hpp 
--}
-newtype MXFunction = MXFunction (ForeignPtr MXFunction')
--- typeclass decl
-class MXFunctionClass a where
-  castMXFunction :: a -> MXFunction
-instance MXFunctionClass MXFunction where
-  castMXFunction = id
-
--- baseclass instances
-instance FunctionClass MXFunction where
-  castFunction (MXFunction x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass MXFunction where
-  castOptionsFunctionality (MXFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass MXFunction where
-  castSharedObject (MXFunction x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass MXFunction where
-  castIOInterfaceFunction (MXFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal MXFunction (Ptr MXFunction') where
-  marshal (MXFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (MXFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__MXFunction" 
-  c_delete_casadi__MXFunction :: FunPtr (Ptr MXFunction' -> IO ())
-instance WrapReturn (Ptr MXFunction') MXFunction where
-  wrapReturn = (fmap MXFunction) . (newForeignPtr c_delete_casadi__MXFunction)
-
-
--- raw decl
-data NlpSolver'
--- data decl
-{-|
->NlpSolver.
->
->Solves the following parametric nonlinear program (NLP):
->
->::
->
->  min          F(x, p)
->   x
->  
->  subject to
->              LBX <=   x    <= UBX
->              LBG <= G(x, p) <= UBG
->                         p  == P
->  
->      nx: number of decision variables
->      ng: number of constraints
->      np: number of parameters
->  
->
->
->
->General information
->===================
->
->
->
->>Input scheme: casadi::NlpSolverInput (NLP_SOLVER_NUM_IN = 8) [nlpSolverIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::NlpSolverOutput (NLP_SOLVER_NUM_OUT = 6) [nlpSolverOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eval_errors_ | OT_BOOLEAN   | false        | When errors  | casadi::NlpS |
->| fatal        |              |              | occur during | olverInterna |
->|              |              |              | evaluation   | l            |
->|              |              |              | of           |              |
->|              |              |              | f,g,...,stop |              |
->|              |              |              | the          |              |
->|              |              |              | iterations   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | casadi::NlpS |
->|              |              |              | NLP function | olverInterna |
->|              |              |              | in terms of  | l            |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| grad_f       | OT_FUNCTION  | GenericType( | Function for | casadi::NlpS |
->|              |              | )            | calculating  | olverInterna |
->|              |              |              | the gradient | l            |
->|              |              |              | of the       |              |
->|              |              |              | objective    |              |
->|              |              |              | (column, aut |              |
->|              |              |              | ogenerated   |              |
->|              |              |              | by default)  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| grad_lag     | OT_FUNCTION  | GenericType( | Function for | casadi::NlpS |
->|              |              | )            | calculating  | olverInterna |
->|              |              |              | the gradient | l            |
->|              |              |              | of the       |              |
->|              |              |              | Lagrangian ( |              |
->|              |              |              | autogenerate |              |
->|              |              |              | d by         |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hess_lag     | OT_FUNCTION  | GenericType( | Function for | casadi::NlpS |
->|              |              | )            | calculating  | olverInterna |
->|              |              |              | the Hessian  | l            |
->|              |              |              | of the       |              |
->|              |              |              | Lagrangian ( |              |
->|              |              |              | autogenerate |              |
->|              |              |              | d by         |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ignore_check | OT_BOOLEAN   | false        | If set to    | casadi::NlpS |
->| _vec         |              |              | true, the    | olverInterna |
->|              |              |              | input shape  | l            |
->|              |              |              | of F will    |              |
->|              |              |              | not be       |              |
->|              |              |              | checked.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_CALLBACK  | GenericType( | A function   | casadi::NlpS |
->| llback       |              | )            | that will be | olverInterna |
->|              |              |              | called at    | l            |
->|              |              |              | each         |              |
->|              |              |              | iteration    |              |
->|              |              |              | with the     |              |
->|              |              |              | solver as    |              |
->|              |              |              | input. Check |              |
->|              |              |              | documentatio |              |
->|              |              |              | n of         |              |
->|              |              |              | Callback .   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_BOOLEAN   | false        | If set to    | casadi::NlpS |
->| llback_ignor |              |              | true, errors | olverInterna |
->| e_errors     |              |              | thrown by it | l            |
->|              |              |              | eration_call |              |
->|              |              |              | back will be |              |
->|              |              |              | ignored.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_INTEGER   | 1            | Only call    | casadi::NlpS |
->| llback_step  |              |              | the callback | olverInterna |
->|              |              |              | function     | l            |
->|              |              |              | every few    |              |
->|              |              |              | iterations.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jac_f        | OT_FUNCTION  | GenericType( | Function for | casadi::NlpS |
->|              |              | )            | calculating  | olverInterna |
->|              |              |              | the jacobian | l            |
->|              |              |              | of the       |              |
->|              |              |              | objective    |              |
->|              |              |              | (sparse row, |              |
->|              |              |              | autogenerate |              |
->|              |              |              | d by         |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jac_g        | OT_FUNCTION  | GenericType( | Function for | casadi::NlpS |
->|              |              | )            | calculating  | olverInterna |
->|              |              |              | the Jacobian | l            |
->|              |              |              | of the       |              |
->|              |              |              | constraints  |              |
->|              |              |              | (autogenerat |              |
->|              |              |              | ed by        |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warn_initial | OT_BOOLEAN   | false        | Warn if the  | casadi::NlpS |
->| _bounds      |              |              | initial      | olverInterna |
->|              |              |              | guess does   | l            |
->|              |              |              | not satisfy  |              |
->|              |              |              | LBX and UBX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_NlpSolver_ipopt'>ipopt</a>
->
->- <a href='#plugin_NlpSolver_knitro'>knitro</a>
->
->- <a href='#plugin_NlpSolver_snopt'>snopt</a>
->
->- <a href='#plugin_NlpSolver_worhp'>worhp</a>
->
->- <a href='#plugin_NlpSolver_scpgen'>scpgen</a>
->
->- <a href='#plugin_NlpSolver_sqpmethod'>sqpmethod</a>
->
->- <a href='#plugin_NlpSolver_stabilizedsqp'>stabilizedsqp</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->NlpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->ipopt
->-----
->
->
->
->When in warmstart mode, output NLP_SOLVER_LAM_X may be used as input
->
->NOTE: Even when max_iter == 0, it is not guaranteed that
->input(NLP_SOLVER_X0) == output(NLP_SOLVER_X). Indeed if bounds on X or
->constraints are unmet, they will differ.
->
->For a good tutorial on IPOPT,
->seehttp://drops.dagstuhl.de/volltexte/2009/2089/pdf/09061.WaechterAndreas.Paper.2089.pdf
->
->A good resource about the algorithms in IPOPT is: Wachter and L. T. Biegler,
->On the Implementation of an Interior-Point Filter Line-Search Algorithm for
->Large-Scale Nonlinear Programming, Mathematical Programming 106(1), pp.
->25-57, 2006 (As Research Report RC 23149, IBM T. J. Watson Research Center,
->Yorktown, USA
->
->Caveats: with default options, multipliers for the decision variables are
->wrong for equality constraints. Change the 'fixed_variable_treatment' to
->'make_constraint' or 'relax_bounds' to obtain correct results.
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| accept_after_ma | OT_INTEGER      | -1              | Accept a trial  |
->| x_steps         |                 |                 | point after     |
->|                 |                 |                 | maximal this    |
->|                 |                 |                 | number of       |
->|                 |                 |                 | steps. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| accept_every_tr | OT_STRING       | no              | Always accept   |
->| ial_step        |                 |                 | the first trial |
->|                 |                 |                 | step. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| acceptable_comp | OT_REAL         | 0.010           | "Acceptance"    |
->| l_inf_tol       |                 |                 | threshold for   |
->|                 |                 |                 | the             |
->|                 |                 |                 | complementarity |
->|                 |                 |                 | conditions.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| acceptable_cons | OT_REAL         | 0.010           | "Acceptance"    |
->| tr_viol_tol     |                 |                 | threshold for   |
->|                 |                 |                 | the constraint  |
->|                 |                 |                 | violation. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| acceptable_dual | OT_REAL         | 1.000e+10       | "Acceptance"    |
->| _inf_tol        |                 |                 | threshold for   |
->|                 |                 |                 | the dual        |
->|                 |                 |                 | infeasibility.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| acceptable_iter | OT_INTEGER      | 15              | Number of       |
->|                 |                 |                 | "acceptable"    |
->|                 |                 |                 | iterates before |
->|                 |                 |                 | triggering      |
->|                 |                 |                 | termination.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| acceptable_obj_ | OT_REAL         | 1.000e+20       | "Acceptance"    |
->| change_tol      |                 |                 | stopping        |
->|                 |                 |                 | criterion based |
->|                 |                 |                 | on objective    |
->|                 |                 |                 | function        |
->|                 |                 |                 | change. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| acceptable_tol  | OT_REAL         | 0.000           | "Acceptable"    |
->|                 |                 |                 | convergence     |
->|                 |                 |                 | tolerance       |
->|                 |                 |                 | (relative).     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| adaptive_mu_glo | OT_STRING       | obj-constr-     | Globalization   |
->| balization      |                 | filter          | strategy for    |
->|                 |                 |                 | the adaptive mu |
->|                 |                 |                 | selection mode. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| adaptive_mu_kkt | OT_STRING       | 2-norm-squared  | Norm used for   |
->| _norm_type      |                 |                 | the KKT error   |
->|                 |                 |                 | in the adaptive |
->|                 |                 |                 | mu              |
->|                 |                 |                 | globalization   |
->|                 |                 |                 | strategies.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| adaptive_mu_kkt | OT_REAL         | 1.000           | Sufficient      |
->| error_red_fact  |                 |                 | decrease factor |
->|                 |                 |                 | for "kkt-error" |
->|                 |                 |                 | globalization   |
->|                 |                 |                 | strategy. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| adaptive_mu_kkt | OT_INTEGER      | 4               | Maximum number  |
->| error_red_iters |                 |                 | of iterations   |
->|                 |                 |                 | requiring       |
->|                 |                 |                 | sufficient      |
->|                 |                 |                 | progress. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| adaptive_mu_mon | OT_REAL         | 0.800           | Determines the  |
->| otone_init_fact |                 |                 | initial value   |
->| or              |                 |                 | of the barrier  |
->|                 |                 |                 | parameter when  |
->|                 |                 |                 | switching to    |
->|                 |                 |                 | the monotone    |
->|                 |                 |                 | mode. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| adaptive_mu_res | OT_STRING       | no              | Indicates if    |
->| tore_previous_i |                 |                 | the previous    |
->| terate          |                 |                 | iterate should  |
->|                 |                 |                 | be restored if  |
->|                 |                 |                 | the monotone    |
->|                 |                 |                 | mode is         |
->|                 |                 |                 | entered. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| adaptive_mu_saf | OT_REAL         | 0               | (see IPOPT      |
->| eguard_factor   |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| alpha_for_y     | OT_STRING       | primal          | Method to       |
->|                 |                 |                 | determine the   |
->|                 |                 |                 | step size for   |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | multipliers.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| alpha_for_y_tol | OT_REAL         | 10              | Tolerance for   |
->|                 |                 |                 | switching to    |
->|                 |                 |                 | full equality   |
->|                 |                 |                 | multiplier      |
->|                 |                 |                 | steps. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| alpha_min_frac  | OT_REAL         | 0.050           | Safety factor   |
->|                 |                 |                 | for the minimal |
->|                 |                 |                 | step size       |
->|                 |                 |                 | (before         |
->|                 |                 |                 | switching to    |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase). (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| alpha_red_facto | OT_REAL         | 0.500           | Fractional      |
->| r               |                 |                 | reduction of    |
->|                 |                 |                 | the trial step  |
->|                 |                 |                 | size in the     |
->|                 |                 |                 | backtracking    |
->|                 |                 |                 | line search.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| barrier_tol_fac | OT_REAL         | 10              | Factor for mu   |
->| tor             |                 |                 | in barrier stop |
->|                 |                 |                 | test. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| bound_frac      | OT_REAL         | 0.010           | Desired minimum |
->|                 |                 |                 | relative        |
->|                 |                 |                 | distance from   |
->|                 |                 |                 | the initial     |
->|                 |                 |                 | point to bound. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| bound_mult_init | OT_STRING       | constant        | Initialization  |
->| _method         |                 |                 | method for      |
->|                 |                 |                 | bound           |
->|                 |                 |                 | multipliers     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| bound_mult_init | OT_REAL         | 1               | Initial value   |
->| _val            |                 |                 | for the bound   |
->|                 |                 |                 | multipliers.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| bound_mult_rese | OT_REAL         | 1000            | Threshold for   |
->| t_threshold     |                 |                 | resetting bound |
->|                 |                 |                 | multipliers     |
->|                 |                 |                 | after the       |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| bound_push      | OT_REAL         | 0.010           | Desired minimum |
->|                 |                 |                 | absolute        |
->|                 |                 |                 | distance from   |
->|                 |                 |                 | the initial     |
->|                 |                 |                 | point to bound. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| bound_relax_fac | OT_REAL         | 0.000           | Factor for      |
->| tor             |                 |                 | initial         |
->|                 |                 |                 | relaxation of   |
->|                 |                 |                 | the bounds.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| check_derivativ | OT_STRING       | no              | Indicates       |
->| es_for_naninf   |                 |                 | whether it is   |
->|                 |                 |                 | desired to      |
->|                 |                 |                 | check for       |
->|                 |                 |                 | Nan/Inf in      |
->|                 |                 |                 | derivative      |
->|                 |                 |                 | matrices (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| chi_cup         | OT_REAL         | 1.500           | LIFENG WRITES   |
->|                 |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| chi_hat         | OT_REAL         | 2               | LIFENG WRITES   |
->|                 |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| chi_tilde       | OT_REAL         | 5               | LIFENG WRITES   |
->|                 |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| compl_inf_tol   | OT_REAL         | 0.000           | Desired         |
->|                 |                 |                 | threshold for   |
->|                 |                 |                 | the             |
->|                 |                 |                 | complementarity |
->|                 |                 |                 | conditions.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| con_integer_md  | OT_DICTIONARY   | None            | Integer         |
->|                 |                 |                 | metadata (a     |
->|                 |                 |                 | dictionary with |
->|                 |                 |                 | lists of        |
->|                 |                 |                 | integers) about |
->|                 |                 |                 | constraints to  |
->|                 |                 |                 | be passed to    |
->|                 |                 |                 | IPOPT           |
->+-----------------+-----------------+-----------------+-----------------+
->| con_numeric_md  | OT_DICTIONARY   | None            | Numeric         |
->|                 |                 |                 | metadata (a     |
->|                 |                 |                 | dictionary with |
->|                 |                 |                 | lists of reals) |
->|                 |                 |                 | about           |
->|                 |                 |                 | constraints to  |
->|                 |                 |                 | be passed to    |
->|                 |                 |                 | IPOPT           |
->+-----------------+-----------------+-----------------+-----------------+
->| con_string_md   | OT_DICTIONARY   | None            | String metadata |
->|                 |                 |                 | (a dictionary   |
->|                 |                 |                 | with lists of   |
->|                 |                 |                 | strings) about  |
->|                 |                 |                 | constraints to  |
->|                 |                 |                 | be passed to    |
->|                 |                 |                 | IPOPT           |
->+-----------------+-----------------+-----------------+-----------------+
->| constr_mult_ini | OT_REAL         | 1000            | Maximum allowed |
->| t_max           |                 |                 | least-square    |
->|                 |                 |                 | guess of        |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | multipliers.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| constr_mult_res | OT_REAL         | 0               | Threshold for   |
->| et_threshold    |                 |                 | resetting       |
->|                 |                 |                 | equality and    |
->|                 |                 |                 | inequality      |
->|                 |                 |                 | multipliers     |
->|                 |                 |                 | after           |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| constr_viol_tol | OT_REAL         | 0.000           | Desired         |
->|                 |                 |                 | threshold for   |
->|                 |                 |                 | the constraint  |
->|                 |                 |                 | violation. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| constraint_viol | OT_STRING       | 1-norm          | Norm to be used |
->| ation_norm_type |                 |                 | for the         |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation in    |
->|                 |                 |                 | the line        |
->|                 |                 |                 | search. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| corrector_compl | OT_REAL         | 1               | Complementarity |
->| _avrg_red_fact  |                 |                 | tolerance       |
->|                 |                 |                 | factor for      |
->|                 |                 |                 | accepting       |
->|                 |                 |                 | corrector step  |
->|                 |                 |                 | (unsupported!). |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| corrector_type  | OT_STRING       | none            | The type of     |
->|                 |                 |                 | corrector steps |
->|                 |                 |                 | that should be  |
->|                 |                 |                 | taken           |
->|                 |                 |                 | (unsupported!). |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| delta           | OT_REAL         | 1               | Multiplier for  |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation in    |
->|                 |                 |                 | the switching   |
->|                 |                 |                 | rule. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| delta_y_max     | OT_REAL         | 1.000e+12       | a parameter     |
->|                 |                 |                 | used to check   |
->|                 |                 |                 | if the fast     |
->|                 |                 |                 | direction can   |
->|                 |                 |                 | be used asthe   |
->|                 |                 |                 | line search     |
->|                 |                 |                 | direction (for  |
->|                 |                 |                 | Chen-Goldfarb   |
->|                 |                 |                 | line search).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| dependency_dete | OT_STRING       | no              | Indicates if    |
->| ction_with_rhs  |                 |                 | the right hand  |
->|                 |                 |                 | sides of the    |
->|                 |                 |                 | constraints     |
->|                 |                 |                 | should be       |
->|                 |                 |                 | considered      |
->|                 |                 |                 | during          |
->|                 |                 |                 | dependency      |
->|                 |                 |                 | detection (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| dependency_dete | OT_STRING       | none            | Indicates which |
->| ctor            |                 |                 | linear solver   |
->|                 |                 |                 | should be used  |
->|                 |                 |                 | to detect       |
->|                 |                 |                 | linearly        |
->|                 |                 |                 | dependent       |
->|                 |                 |                 | equality        |
->|                 |                 |                 | constraints.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| derivative_test | OT_STRING       | none            | Enable          |
->|                 |                 |                 | derivative      |
->|                 |                 |                 | checker (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| derivative_test | OT_INTEGER      | -2              | Index of first  |
->| _first_index    |                 |                 | quantity to be  |
->|                 |                 |                 | checked by      |
->|                 |                 |                 | derivative      |
->|                 |                 |                 | checker (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| derivative_test | OT_REAL         | 0.000           | Size of the     |
->| _perturbation   |                 |                 | finite          |
->|                 |                 |                 | difference      |
->|                 |                 |                 | perturbation in |
->|                 |                 |                 | derivative      |
->|                 |                 |                 | test. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| derivative_test | OT_STRING       | no              | Indicates       |
->| _print_all      |                 |                 | whether         |
->|                 |                 |                 | information for |
->|                 |                 |                 | all estimated   |
->|                 |                 |                 | derivatives     |
->|                 |                 |                 | should be       |
->|                 |                 |                 | printed. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| derivative_test | OT_REAL         | 0.000           | Threshold for   |
->| _tol            |                 |                 | indicating      |
->|                 |                 |                 | wrong           |
->|                 |                 |                 | derivative.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| diverging_itera | OT_REAL         | 1.000e+20       | Threshold for   |
->| tes_tol         |                 |                 | maximal value   |
->|                 |                 |                 | of primal       |
->|                 |                 |                 | iterates. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| dual_inf_tol    | OT_REAL         | 1               | Desired         |
->|                 |                 |                 | threshold for   |
->|                 |                 |                 | the dual        |
->|                 |                 |                 | infeasibility.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| epsilon_c       | OT_REAL         | 0.010           | LIFENG WRITES   |
->|                 |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| eta_min         | OT_REAL         | 10              | LIFENG WRITES   |
->|                 |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| eta_penalty     | OT_REAL         | 0.000           | Relaxation      |
->|                 |                 |                 | factor in the   |
->|                 |                 |                 | Armijo          |
->|                 |                 |                 | condition for   |
->|                 |                 |                 | the penalty     |
->|                 |                 |                 | function. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| eta_phi         | OT_REAL         | 0.000           | Relaxation      |
->|                 |                 |                 | factor in the   |
->|                 |                 |                 | Armijo          |
->|                 |                 |                 | condition. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| evaluate_orig_o | OT_STRING       | yes             | Determines if   |
->| bj_at_resto_tri |                 |                 | the original    |
->| al              |                 |                 | objective       |
->|                 |                 |                 | function should |
->|                 |                 |                 | be evaluated at |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase trial     |
->|                 |                 |                 | points. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| expect_infeasib | OT_STRING       | no              | Enable          |
->| le_problem      |                 |                 | heuristics to   |
->|                 |                 |                 | quickly detect  |
->|                 |                 |                 | an infeasible   |
->|                 |                 |                 | problem. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| expect_infeasib | OT_REAL         | 0.001           | Threshold for   |
->| le_problem_ctol |                 |                 | disabling "expe |
->|                 |                 |                 | ct_infeasible_p |
->|                 |                 |                 | roblem" option. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| expect_infeasib | OT_REAL         | 100000000       | Multiplier      |
->| le_problem_ytol |                 |                 | threshold for   |
->|                 |                 |                 | activating "exp |
->|                 |                 |                 | ect_infeasible_ |
->|                 |                 |                 | problem"        |
->|                 |                 |                 | option. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| fast_des_fact   | OT_REAL         | 0.100           | a parameter     |
->|                 |                 |                 | used to check   |
->|                 |                 |                 | if the fast     |
->|                 |                 |                 | direction can   |
->|                 |                 |                 | be used asthe   |
->|                 |                 |                 | line search     |
->|                 |                 |                 | direction (for  |
->|                 |                 |                 | Chen-Goldfarb   |
->|                 |                 |                 | line search).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| fast_step_compu | OT_STRING       | no              | Indicates if    |
->| tation          |                 |                 | the linear      |
->|                 |                 |                 | system should   |
->|                 |                 |                 | be solved       |
->|                 |                 |                 | quickly. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| file_print_leve | OT_INTEGER      | 5               | Verbosity level |
->| l               |                 |                 | for output      |
->|                 |                 |                 | file. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| filter_margin_f | OT_REAL         | 0.000           | Factor          |
->| act             |                 |                 | determining     |
->|                 |                 |                 | width of margin |
->|                 |                 |                 | for obj-constr- |
->|                 |                 |                 | filter adaptive |
->|                 |                 |                 | globalization   |
->|                 |                 |                 | strategy. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| filter_max_marg | OT_REAL         | 1               | Maximum width   |
->| in              |                 |                 | of margin in    |
->|                 |                 |                 | obj-constr-     |
->|                 |                 |                 | filter adaptive |
->|                 |                 |                 | globalization   |
->|                 |                 |                 | strategy. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| filter_reset_tr | OT_INTEGER      | 5               | Number of       |
->| igger           |                 |                 | iterations that |
->|                 |                 |                 | trigger the     |
->|                 |                 |                 | filter reset.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| findiff_perturb | OT_REAL         | 0.000           | Size of the     |
->| ation           |                 |                 | finite          |
->|                 |                 |                 | difference      |
->|                 |                 |                 | perturbation    |
->|                 |                 |                 | for derivative  |
->|                 |                 |                 | approximation.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| first_hessian_p | OT_REAL         | 0.000           | Size of first   |
->| erturbation     |                 |                 | x-s             |
->|                 |                 |                 | perturbation    |
->|                 |                 |                 | tried. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| fixed_mu_oracle | OT_STRING       | average_compl   | Oracle for the  |
->|                 |                 |                 | barrier         |
->|                 |                 |                 | parameter when  |
->|                 |                 |                 | switching to    |
->|                 |                 |                 | fixed mode.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| fixed_variable_ | OT_STRING       | make_parameter  | Determines how  |
->| treatment       |                 |                 | fixed variables |
->|                 |                 |                 | should be       |
->|                 |                 |                 | handled. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| gamma_hat       | OT_REAL         | 0.040           | LIFENG WRITES   |
->|                 |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| gamma_phi       | OT_REAL         | 0.000           | Relaxation      |
->|                 |                 |                 | factor in the   |
->|                 |                 |                 | filter margin   |
->|                 |                 |                 | for the barrier |
->|                 |                 |                 | function. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| gamma_theta     | OT_REAL         | 0.000           | Relaxation      |
->|                 |                 |                 | factor in the   |
->|                 |                 |                 | filter margin   |
->|                 |                 |                 | for the         |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| gamma_tilde     | OT_REAL         | 4               | LIFENG WRITES   |
->|                 |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| hessian_approxi | OT_STRING       | exact           | Indicates what  |
->| mation          |                 |                 | Hessian         |
->|                 |                 |                 | information is  |
->|                 |                 |                 | to be used.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| hessian_approxi | OT_STRING       | nonlinear-      | Indicates in    |
->| mation_space    |                 | variables       | which subspace  |
->|                 |                 |                 | the Hessian     |
->|                 |                 |                 | information is  |
->|                 |                 |                 | to be           |
->|                 |                 |                 | approximated.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| hessian_constan | OT_STRING       | no              | Indicates       |
->| t               |                 |                 | whether the     |
->|                 |                 |                 | problem is a    |
->|                 |                 |                 | quadratic       |
->|                 |                 |                 | problem (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| honor_original_ | OT_STRING       | yes             | Indicates       |
->| bounds          |                 |                 | whether final   |
->|                 |                 |                 | points should   |
->|                 |                 |                 | be projected    |
->|                 |                 |                 | into original   |
->|                 |                 |                 | bounds. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| inf_pr_output   | OT_STRING       | original        | Determines what |
->|                 |                 |                 | value is        |
->|                 |                 |                 | printed in the  |
->|                 |                 |                 | "inf_pr" output |
->|                 |                 |                 | column. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| jac_c_constant  | OT_STRING       | no              | Indicates       |
->|                 |                 |                 | whether all     |
->|                 |                 |                 | equality        |
->|                 |                 |                 | constraints are |
->|                 |                 |                 | linear (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| jac_d_constant  | OT_STRING       | no              | Indicates       |
->|                 |                 |                 | whether all     |
->|                 |                 |                 | inequality      |
->|                 |                 |                 | constraints are |
->|                 |                 |                 | linear (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| jacobian_approx | OT_STRING       | exact           | Specifies       |
->| imation         |                 |                 | technique to    |
->|                 |                 |                 | compute         |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | Jacobian (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| jacobian_regula | OT_REAL         | 0.250           | Exponent for mu |
->| rization_expone |                 |                 | in the          |
->| nt              |                 |                 | regularization  |
->|                 |                 |                 | for rank-       |
->|                 |                 |                 | deficient       |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | Jacobians. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| jacobian_regula | OT_REAL         | 0.000           | Size of the     |
->| rization_value  |                 |                 | regularization  |
->|                 |                 |                 | for rank-       |
->|                 |                 |                 | deficient       |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | Jacobians. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| kappa_d         | OT_REAL         | 0.000           | Weight for      |
->|                 |                 |                 | linear damping  |
->|                 |                 |                 | term (to handle |
->|                 |                 |                 | one-sided       |
->|                 |                 |                 | bounds). (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| kappa_sigma     | OT_REAL         | 1.000e+10       | Factor limiting |
->|                 |                 |                 | the deviation   |
->|                 |                 |                 | of dual         |
->|                 |                 |                 | variables from  |
->|                 |                 |                 | primal          |
->|                 |                 |                 | estimates. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| kappa_soc       | OT_REAL         | 0.990           | Factor in the   |
->|                 |                 |                 | sufficient      |
->|                 |                 |                 | reduction rule  |
->|                 |                 |                 | for second      |
->|                 |                 |                 | order           |
->|                 |                 |                 | correction.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| kappa_x_dis     | OT_REAL         | 100             | a parameter     |
->|                 |                 |                 | used to check   |
->|                 |                 |                 | if the fast     |
->|                 |                 |                 | direction can   |
->|                 |                 |                 | be used asthe   |
->|                 |                 |                 | line search     |
->|                 |                 |                 | direction (for  |
->|                 |                 |                 | Chen-Goldfarb   |
->|                 |                 |                 | line search).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| kappa_y_dis     | OT_REAL         | 10000           | a parameter     |
->|                 |                 |                 | used to check   |
->|                 |                 |                 | if the fast     |
->|                 |                 |                 | direction can   |
->|                 |                 |                 | be used asthe   |
->|                 |                 |                 | line search     |
->|                 |                 |                 | direction (for  |
->|                 |                 |                 | Chen-Goldfarb   |
->|                 |                 |                 | line search).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| least_square_in | OT_STRING       | no              | Least square    |
->| it_duals        |                 |                 | initialization  |
->|                 |                 |                 | of all dual     |
->|                 |                 |                 | variables (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| least_square_in | OT_STRING       | no              | Least square    |
->| it_primal       |                 |                 | initialization  |
->|                 |                 |                 | of the primal   |
->|                 |                 |                 | variables (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_STRING       | sherman-        | Strategy for    |
->| aug_solver      |                 | morrison        | solving the     |
->|                 |                 |                 | augmented       |
->|                 |                 |                 | system for low- |
->|                 |                 |                 | rank Hessian.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_REAL         | 1               | Value for B0 in |
->| init_val        |                 |                 | low-rank        |
->|                 |                 |                 | update. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_REAL         | 100000000       | Upper bound on  |
->| init_val_max    |                 |                 | value for B0 in |
->|                 |                 |                 | low-rank        |
->|                 |                 |                 | update. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_REAL         | 0.000           | Lower bound on  |
->| init_val_min    |                 |                 | value for B0 in |
->|                 |                 |                 | low-rank        |
->|                 |                 |                 | update. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_STRING       | scalar1         | Initialization  |
->| initialization  |                 |                 | strategy for    |
->|                 |                 |                 | the limited     |
->|                 |                 |                 | memory quasi-   |
->|                 |                 |                 | Newton          |
->|                 |                 |                 | approximation.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_INTEGER      | 6               | Maximum size of |
->| max_history     |                 |                 | the history for |
->|                 |                 |                 | the limited     |
->|                 |                 |                 | quasi-Newton    |
->|                 |                 |                 | Hessian         |
->|                 |                 |                 | approximation.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_INTEGER      | 2               | Threshold for   |
->| max_skipping    |                 |                 | successive      |
->|                 |                 |                 | iterations      |
->|                 |                 |                 | where update is |
->|                 |                 |                 | skipped. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_STRING       | no              | Determines if   |
->| special_for_res |                 |                 | the quasi-      |
->| to              |                 |                 | Newton updates  |
->|                 |                 |                 | should be       |
->|                 |                 |                 | special during  |
->|                 |                 |                 | the restoration |
->|                 |                 |                 | phase. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| limited_memory_ | OT_STRING       | bfgs            | Quasi-Newton    |
->| update_type     |                 |                 | update formula  |
->|                 |                 |                 | for the limited |
->|                 |                 |                 | memory          |
->|                 |                 |                 | approximation.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| line_search_met | OT_STRING       | filter          | Globalization   |
->| hod             |                 |                 | method used in  |
->|                 |                 |                 | backtracking    |
->|                 |                 |                 | line search     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_scaling_ | OT_STRING       | yes             | Flag indicating |
->| on_demand       |                 |                 | that linear     |
->|                 |                 |                 | scaling is only |
->|                 |                 |                 | done if it      |
->|                 |                 |                 | seems required. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_solver   | OT_STRING       | mumps           | Linear solver   |
->|                 |                 |                 | used for step   |
->|                 |                 |                 | computations.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| linear_system_s | OT_STRING       | none            | Method for      |
->| caling          |                 |                 | scaling the     |
->|                 |                 |                 | linear system.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma27_ignore_sin | OT_STRING       | no              | Enables MA27's  |
->| gularity        |                 |                 | ability to      |
->|                 |                 |                 | solve a linear  |
->|                 |                 |                 | system even if  |
->|                 |                 |                 | the matrix is   |
->|                 |                 |                 | singular. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma27_la_init_fa | OT_REAL         | 5               | Real workspace  |
->| ctor            |                 |                 | memory for      |
->|                 |                 |                 | MA27. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma27_liw_init_f | OT_REAL         | 5               | Integer         |
->| actor           |                 |                 | workspace       |
->|                 |                 |                 | memory for      |
->|                 |                 |                 | MA27. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma27_meminc_fac | OT_REAL         | 2               | Increment       |
->| tor             |                 |                 | factor for      |
->|                 |                 |                 | workspace size  |
->|                 |                 |                 | for MA27. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma27_pivtol     | OT_REAL         | 0.000           | Pivot tolerance |
->|                 |                 |                 | for the linear  |
->|                 |                 |                 | solver MA27.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma27_pivtolmax  | OT_REAL         | 0.000           | Maximum pivot   |
->|                 |                 |                 | tolerance for   |
->|                 |                 |                 | the linear      |
->|                 |                 |                 | solver MA27.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma27_skip_inert | OT_STRING       | no              | Always pretend  |
->| ia_check        |                 |                 | inertia is      |
->|                 |                 |                 | correct. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma28_pivtol     | OT_REAL         | 0.010           | Pivot tolerance |
->|                 |                 |                 | for linear      |
->|                 |                 |                 | solver MA28.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma57_automatic_ | OT_STRING       | no              | Controls MA57   |
->| scaling         |                 |                 | automatic       |
->|                 |                 |                 | scaling (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma57_block_size | OT_INTEGER      | 16              | Controls block  |
->|                 |                 |                 | size used by    |
->|                 |                 |                 | Level 3 BLAS in |
->|                 |                 |                 | MA57BD (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma57_node_amalg | OT_INTEGER      | 16              | Node            |
->| amation         |                 |                 | amalgamation    |
->|                 |                 |                 | parameter (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma57_pivot_orde | OT_INTEGER      | 5               | Controls pivot  |
->| r               |                 |                 | order in MA57   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma57_pivtol     | OT_REAL         | 0.000           | Pivot tolerance |
->|                 |                 |                 | for the linear  |
->|                 |                 |                 | solver MA57.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma57_pivtolmax  | OT_REAL         | 0.000           | Maximum pivot   |
->|                 |                 |                 | tolerance for   |
->|                 |                 |                 | the linear      |
->|                 |                 |                 | solver MA57.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma57_pre_alloc  | OT_REAL         | 1.050           | Safety factor   |
->|                 |                 |                 | for work space  |
->|                 |                 |                 | memory          |
->|                 |                 |                 | allocation for  |
->|                 |                 |                 | the linear      |
->|                 |                 |                 | solver MA57.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma57_small_pivo | OT_INTEGER      | 0               | If set to 1,    |
->| t_flag          |                 |                 | then when small |
->|                 |                 |                 | entries defined |
->|                 |                 |                 | by CNTL(2) are  |
->|                 |                 |                 | detected they   |
->|                 |                 |                 | are removed and |
->|                 |                 |                 | the             |
->|                 |                 |                 | corresponding   |
->|                 |                 |                 | pivots placed   |
->|                 |                 |                 | at the end of   |
->|                 |                 |                 | the             |
->|                 |                 |                 | factorization.  |
->|                 |                 |                 | This can be     |
->|                 |                 |                 | particularly    |
->|                 |                 |                 | efficient if    |
->|                 |                 |                 | the matrix is   |
->|                 |                 |                 | highly rank     |
->|                 |                 |                 | deficient. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_buffer_lpa | OT_INTEGER      | 4096            | Number of       |
->| ge              |                 |                 | scalars per     |
->|                 |                 |                 | MA77 buffer     |
->|                 |                 |                 | page (see IPOPT |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_buffer_npa | OT_INTEGER      | 1600            | Number of pages |
->| ge              |                 |                 | that make up    |
->|                 |                 |                 | MA77 buffer     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_file_size  | OT_INTEGER      | 2097152         | Target size of  |
->|                 |                 |                 | each temporary  |
->|                 |                 |                 | file for MA77,  |
->|                 |                 |                 | scalars per     |
->|                 |                 |                 | type (see IPOPT |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_maxstore   | OT_INTEGER      | 0               | Maximum storage |
->|                 |                 |                 | size for MA77   |
->|                 |                 |                 | in-core mode    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_nemin      | OT_INTEGER      | 8               | Node            |
->|                 |                 |                 | Amalgamation    |
->|                 |                 |                 | parameter (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_order      | OT_STRING       | amd             | Controls type   |
->|                 |                 |                 | of ordering     |
->|                 |                 |                 | used by         |
->|                 |                 |                 | HSL_MA77 (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_print_leve | OT_INTEGER      | -1              | Debug printing  |
->| l               |                 |                 | level for the   |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | MA77 (see IPOPT |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_small      | OT_REAL         | 0.000           | Zero Pivot      |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_static     | OT_REAL         | 0               | Static Pivoting |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_u          | OT_REAL         | 0.000           | Pivoting        |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma77_umax       | OT_REAL         | 0.000           | Maximum         |
->|                 |                 |                 | Pivoting        |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma86_nemin      | OT_INTEGER      | 32              | Node            |
->|                 |                 |                 | Amalgamation    |
->|                 |                 |                 | parameter (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma86_order      | OT_STRING       | amd             | Controls type   |
->|                 |                 |                 | of ordering     |
->|                 |                 |                 | used by         |
->|                 |                 |                 | HSL_MA86 (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma86_print_leve | OT_INTEGER      | -1              | Debug printing  |
->| l               |                 |                 | level for the   |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | MA86 (see IPOPT |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma86_scaling    | OT_STRING       | mc64            | Controls        |
->|                 |                 |                 | scaling of      |
->|                 |                 |                 | matrix (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma86_small      | OT_REAL         | 0.000           | Zero Pivot      |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma86_static     | OT_REAL         | 0               | Static Pivoting |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma86_u          | OT_REAL         | 0.000           | Pivoting        |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma86_umax       | OT_REAL         | 0.000           | Maximum         |
->|                 |                 |                 | Pivoting        |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_nemin      | OT_INTEGER      | 8               | Node            |
->|                 |                 |                 | Amalgamation    |
->|                 |                 |                 | parameter (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_order      | OT_STRING       | auto            | Controls type   |
->|                 |                 |                 | of ordering     |
->|                 |                 |                 | used by         |
->|                 |                 |                 | HSL_MA97 (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_print_leve | OT_INTEGER      | 0               | Debug printing  |
->| l               |                 |                 | level for the   |
->|                 |                 |                 | linear solver   |
->|                 |                 |                 | MA97 (see IPOPT |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_scaling    | OT_STRING       | dynamic         | Specifies       |
->|                 |                 |                 | strategy for    |
->|                 |                 |                 | scaling in      |
->|                 |                 |                 | HSL_MA97 linear |
->|                 |                 |                 | solver (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_scaling1   | OT_STRING       | mc64            | First scaling.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_scaling2   | OT_STRING       | mc64            | Second scaling. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_scaling3   | OT_STRING       | mc64            | Third scaling.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_small      | OT_REAL         | 0.000           | Zero Pivot      |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_solve_blas | OT_STRING       | no              | Controls if     |
->| 3               |                 |                 | blas2 or blas3  |
->|                 |                 |                 | routines are    |
->|                 |                 |                 | used for solve  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_switch1    | OT_STRING       | od_hd_reuse     | First switch,   |
->|                 |                 |                 | determine when  |
->|                 |                 |                 | ma97_scaling1   |
->|                 |                 |                 | is enabled.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_switch2    | OT_STRING       | never           | Second switch,  |
->|                 |                 |                 | determine when  |
->|                 |                 |                 | ma97_scaling2   |
->|                 |                 |                 | is enabled.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_switch3    | OT_STRING       | never           | Third switch,   |
->|                 |                 |                 | determine when  |
->|                 |                 |                 | ma97_scaling3   |
->|                 |                 |                 | is enabled.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_u          | OT_REAL         | 0.000           | Pivoting        |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| ma97_umax       | OT_REAL         | 0.000           | Maximum         |
->|                 |                 |                 | Pivoting        |
->|                 |                 |                 | Threshold (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| magic_steps     | OT_STRING       | no              | Enables magic   |
->|                 |                 |                 | steps. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| max_cpu_time    | OT_REAL         | 1000000         | Maximum number  |
->|                 |                 |                 | of CPU seconds. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| max_filter_rese | OT_INTEGER      | 5               | Maximal allowed |
->| ts              |                 |                 | number of       |
->|                 |                 |                 | filter resets   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| max_hessian_per | OT_REAL         | 1.000e+20       | Maximum value   |
->| turbation       |                 |                 | of              |
->|                 |                 |                 | regularization  |
->|                 |                 |                 | parameter for   |
->|                 |                 |                 | handling        |
->|                 |                 |                 | negative        |
->|                 |                 |                 | curvature. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter        | OT_INTEGER      | 3000            | Maximum number  |
->|                 |                 |                 | of iterations.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| max_refinement_ | OT_INTEGER      | 10              | Maximum number  |
->| steps           |                 |                 | of iterative    |
->|                 |                 |                 | refinement      |
->|                 |                 |                 | steps per       |
->|                 |                 |                 | linear system   |
->|                 |                 |                 | solve. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| max_resto_iter  | OT_INTEGER      | 3000000         | Maximum number  |
->|                 |                 |                 | of successive   |
->|                 |                 |                 | iterations in   |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| max_soc         | OT_INTEGER      | 4               | Maximum number  |
->|                 |                 |                 | of second order |
->|                 |                 |                 | correction      |
->|                 |                 |                 | trial steps at  |
->|                 |                 |                 | each iteration. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| max_soft_resto_ | OT_INTEGER      | 10              | Maximum number  |
->| iters           |                 |                 | of iterations   |
->|                 |                 |                 | performed       |
->|                 |                 |                 | successively in |
->|                 |                 |                 | soft            |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mehrotra_algori | OT_STRING       | no              | Indicates if we |
->| thm             |                 |                 | want to do      |
->|                 |                 |                 | Mehrotra's      |
->|                 |                 |                 | algorithm. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| min_alpha_prima | OT_REAL         | 0.000           | LIFENG WRITES   |
->| l               |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| min_hessian_per | OT_REAL         | 0.000           | Smallest        |
->| turbation       |                 |                 | perturbation of |
->|                 |                 |                 | the Hessian     |
->|                 |                 |                 | block. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| min_refinement_ | OT_INTEGER      | 1               | Minimum number  |
->| steps           |                 |                 | of iterative    |
->|                 |                 |                 | refinement      |
->|                 |                 |                 | steps per       |
->|                 |                 |                 | linear system   |
->|                 |                 |                 | solve. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_allow_fast_m | OT_STRING       | yes             | Allow skipping  |
->| onotone_decreas |                 |                 | of barrier      |
->| e               |                 |                 | problem if      |
->|                 |                 |                 | barrier test is |
->|                 |                 |                 | already met.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_init         | OT_REAL         | 0.100           | Initial value   |
->|                 |                 |                 | for the barrier |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_linear_decre | OT_REAL         | 0.200           | Determines      |
->| ase_factor      |                 |                 | linear decrease |
->|                 |                 |                 | rate of barrier |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_max          | OT_REAL         | 100000          | Maximum value   |
->|                 |                 |                 | for barrier     |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_max_fact     | OT_REAL         | 1000            | Factor for      |
->|                 |                 |                 | initialization  |
->|                 |                 |                 | of maximum      |
->|                 |                 |                 | value for       |
->|                 |                 |                 | barrier         |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_min          | OT_REAL         | 0.000           | Minimum value   |
->|                 |                 |                 | for barrier     |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_oracle       | OT_STRING       | quality-        | Oracle for a    |
->|                 |                 | function        | new barrier     |
->|                 |                 |                 | parameter in    |
->|                 |                 |                 | the adaptive    |
->|                 |                 |                 | strategy. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_strategy     | OT_STRING       | monotone        | Update strategy |
->|                 |                 |                 | for barrier     |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_superlinear_ | OT_REAL         | 1.500           | Determines      |
->| decrease_power  |                 |                 | superlinear     |
->|                 |                 |                 | decrease rate   |
->|                 |                 |                 | of barrier      |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mu_target       | OT_REAL         | 0               | Desired value   |
->|                 |                 |                 | of complementar |
->|                 |                 |                 | ity. (see IPOPT |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mult_diverg_fea | OT_REAL         | 0.000           | tolerance for   |
->| sibility_tol    |                 |                 | deciding if the |
->|                 |                 |                 | multipliers are |
->|                 |                 |                 | diverging (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mult_diverg_y_t | OT_REAL         | 100000000       | tolerance for   |
->| ol              |                 |                 | deciding if the |
->|                 |                 |                 | multipliers are |
->|                 |                 |                 | diverging (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mumps_dep_tol   | OT_REAL         | 0               | Pivot threshold |
->|                 |                 |                 | for detection   |
->|                 |                 |                 | of linearly     |
->|                 |                 |                 | dependent       |
->|                 |                 |                 | constraints in  |
->|                 |                 |                 | MUMPS. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mumps_mem_perce | OT_INTEGER      | 1000            | Percentage      |
->| nt              |                 |                 | increase in the |
->|                 |                 |                 | estimated       |
->|                 |                 |                 | working space   |
->|                 |                 |                 | for MUMPS. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mumps_permuting | OT_INTEGER      | 7               | Controls        |
->| _scaling        |                 |                 | permuting and   |
->|                 |                 |                 | scaling in      |
->|                 |                 |                 | MUMPS (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mumps_pivot_ord | OT_INTEGER      | 7               | Controls pivot  |
->| er              |                 |                 | order in MUMPS  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mumps_pivtol    | OT_REAL         | 0.000           | Pivot tolerance |
->|                 |                 |                 | for the linear  |
->|                 |                 |                 | solver MUMPS.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mumps_pivtolmax | OT_REAL         | 0.100           | Maximum pivot   |
->|                 |                 |                 | tolerance for   |
->|                 |                 |                 | the linear      |
->|                 |                 |                 | solver MUMPS.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| mumps_scaling   | OT_INTEGER      | 77              | Controls        |
->|                 |                 |                 | scaling in      |
->|                 |                 |                 | MUMPS (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| neg_curv_test_t | OT_REAL         | 0               | Tolerance for   |
->| ol              |                 |                 | heuristic to    |
->|                 |                 |                 | ignore wrong    |
->|                 |                 |                 | inertia. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| never_use_fact_ | OT_STRING       | no              | Toggle to       |
->| cgpen_direction |                 |                 | switch off the  |
->|                 |                 |                 | fast Chen-      |
->|                 |                 |                 | Goldfarb        |
->|                 |                 |                 | direction (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| never_use_piece | OT_STRING       | no              | Toggle to       |
->| wise_penalty_ls |                 |                 | switch off the  |
->|                 |                 |                 | piecewise       |
->|                 |                 |                 | penalty method  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nlp_lower_bound | OT_REAL         | -1.000e+19      | any bound less  |
->| _inf            |                 |                 | or equal this   |
->|                 |                 |                 | value will be   |
->|                 |                 |                 | considered -inf |
->|                 |                 |                 | (i.e. not lower |
->|                 |                 |                 | bounded). (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nlp_scaling_con | OT_REAL         | 0               | Target value    |
->| str_target_grad |                 |                 | for constraint  |
->| ient            |                 |                 | function        |
->|                 |                 |                 | gradient size.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nlp_scaling_max | OT_REAL         | 100             | Maximum         |
->| _gradient       |                 |                 | gradient after  |
->|                 |                 |                 | NLP scaling.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nlp_scaling_met | OT_STRING       | gradient-based  | Select the      |
->| hod             |                 |                 | technique used  |
->|                 |                 |                 | for scaling the |
->|                 |                 |                 | NLP. (see IPOPT |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nlp_scaling_min | OT_REAL         | 0.000           | Minimum value   |
->| _value          |                 |                 | of gradient-    |
->|                 |                 |                 | based scaling   |
->|                 |                 |                 | values. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nlp_scaling_obj | OT_REAL         | 0               | Target value    |
->| _target_gradien |                 |                 | for objective   |
->| t               |                 |                 | function        |
->|                 |                 |                 | gradient size.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nlp_upper_bound | OT_REAL         | 1.000e+19       | any bound       |
->| _inf            |                 |                 | greater or this |
->|                 |                 |                 | value will be   |
->|                 |                 |                 | considered +inf |
->|                 |                 |                 | (i.e. not upper |
->|                 |                 |                 | bounded). (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nu_inc          | OT_REAL         | 0.000           | Increment of    |
->|                 |                 |                 | the penalty     |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| nu_init         | OT_REAL         | 0.000           | Initial value   |
->|                 |                 |                 | of the penalty  |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| num_linear_vari | OT_INTEGER      | 0               | Number of       |
->| ables           |                 |                 | linear          |
->|                 |                 |                 | variables (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| obj_max_inc     | OT_REAL         | 5               | Determines the  |
->|                 |                 |                 | upper bound on  |
->|                 |                 |                 | the acceptable  |
->|                 |                 |                 | increase of     |
->|                 |                 |                 | barrier         |
->|                 |                 |                 | objective       |
->|                 |                 |                 | function. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| obj_scaling_fac | OT_REAL         | 1               | Scaling factor  |
->| tor             |                 |                 | for the         |
->|                 |                 |                 | objective       |
->|                 |                 |                 | function. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| option_file_nam | OT_STRING       | ipopt.opt       | File name of    |
->| e               |                 |                 | options file.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| output_file     | OT_STRING       |                 | File name of    |
->|                 |                 |                 | desired output  |
->|                 |                 |                 | file (leave     |
->|                 |                 |                 | unset for no    |
->|                 |                 |                 | file output).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_iter_co | OT_INTEGER      | 5000            | Maximum Size of |
->| arse_size       |                 |                 | Coarse Grid     |
->|                 |                 |                 | Matrix (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_iter_dr | OT_REAL         | 0.500           | dropping value  |
->| opping_factor   |                 |                 | for incomplete  |
->|                 |                 |                 | factor (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_iter_dr | OT_REAL         | 0.100           | dropping value  |
->| opping_schur    |                 |                 | for sparsify    |
->|                 |                 |                 | schur           |
->|                 |                 |                 | complement      |
->|                 |                 |                 | factor (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_iter_in | OT_REAL         | 5000000         | (see IPOPT      |
->| verse_norm_fact |                 |                 | documentation)  |
->| or              |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_iter_ma | OT_INTEGER      | 10              | Maximum Size of |
->| x_levels        |                 |                 | Grid Levels     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_iter_ma | OT_INTEGER      | 10000000        | max fill for    |
->| x_row_fill      |                 |                 | each row (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_iter_re | OT_REAL         | 0.000           | Relative        |
->| lative_tol      |                 |                 | Residual        |
->|                 |                 |                 | Convergence     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_iterati | OT_STRING       | no              | Switch on       |
->| ve              |                 |                 | iterative       |
->|                 |                 |                 | solver in       |
->|                 |                 |                 | Pardiso library |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_matchin | OT_STRING       | complete+2x2    | Matching        |
->| g_strategy      |                 |                 | strategy to be  |
->|                 |                 |                 | used by Pardiso |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_max_dro | OT_INTEGER      | 4               | Maximal number  |
->| ptol_correction |                 |                 | of decreases of |
->| s               |                 |                 | drop tolerance  |
->|                 |                 |                 | during one      |
->|                 |                 |                 | solve. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_max_ite | OT_INTEGER      | 500             | Maximum number  |
->| r               |                 |                 | of Krylov-      |
->|                 |                 |                 | Subspace        |
->|                 |                 |                 | Iteration (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_msglvl  | OT_INTEGER      | 0               | Pardiso message |
->|                 |                 |                 | level (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_out_of_ | OT_INTEGER      | 0               | Enables out-of- |
->| core_power      |                 |                 | core variant of |
->|                 |                 |                 | Pardiso (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_redo_sy | OT_STRING       | no              | Toggle for      |
->| mbolic_fact_onl |                 |                 | handling case   |
->| y_if_inertia_wr |                 |                 | when elements   |
->| ong             |                 |                 | were perturbed  |
->|                 |                 |                 | by Pardiso.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_repeate | OT_STRING       | no              | Interpretation  |
->| d_perturbation_ |                 |                 | of perturbed    |
->| means_singular  |                 |                 | elements. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pardiso_skip_in | OT_STRING       | no              | Always pretend  |
->| ertia_check     |                 |                 | inertia is      |
->|                 |                 |                 | correct. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pass_nonlinear_ | OT_BOOLEAN      | False           | n/a             |
->| variables       |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| pen_des_fact    | OT_REAL         | 0.200           | a parameter     |
->|                 |                 |                 | used in penalty |
->|                 |                 |                 | parameter       |
->|                 |                 |                 | computation     |
->|                 |                 |                 | (for Chen-      |
->|                 |                 |                 | Goldfarb line   |
->|                 |                 |                 | search). (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pen_init_fac    | OT_REAL         | 50              | a parameter     |
->|                 |                 |                 | used to choose  |
->|                 |                 |                 | initial penalty |
->|                 |                 |                 | parameterswhen  |
->|                 |                 |                 | the regularized |
->|                 |                 |                 | Newton method   |
->|                 |                 |                 | is used. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| pen_theta_max_f | OT_REAL         | 10000           | Determines      |
->| act             |                 |                 | upper bound for |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation in    |
->|                 |                 |                 | the filter.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| penalty_init_ma | OT_REAL         | 100000          | Maximal value   |
->| x               |                 |                 | for the intial  |
->|                 |                 |                 | penalty         |
->|                 |                 |                 | parameter (for  |
->|                 |                 |                 | Chen-Goldfarb   |
->|                 |                 |                 | line search).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| penalty_init_mi | OT_REAL         | 1               | Minimal value   |
->| n               |                 |                 | for the intial  |
->|                 |                 |                 | penalty         |
->|                 |                 |                 | parameter for   |
->|                 |                 |                 | line search(for |
->|                 |                 |                 | Chen-Goldfarb   |
->|                 |                 |                 | line search).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| penalty_max     | OT_REAL         | 1.000e+30       | Maximal value   |
->|                 |                 |                 | for the penalty |
->|                 |                 |                 | parameter (for  |
->|                 |                 |                 | Chen-Goldfarb   |
->|                 |                 |                 | line search).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| penalty_update_ | OT_REAL         | 10              | LIFENG WRITES   |
->| compl_tol       |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| penalty_update_ | OT_REAL         | 0.000           | Threshold for   |
->| infeasibility_t |                 |                 | infeasibility   |
->| ol              |                 |                 | in penalty      |
->|                 |                 |                 | parameter       |
->|                 |                 |                 | update test.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| perturb_always_ | OT_STRING       | no              | Active          |
->| cd              |                 |                 | permanent       |
->|                 |                 |                 | perturbation of |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | linearization.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| perturb_dec_fac | OT_REAL         | 0.333           | Decrease factor |
->| t               |                 |                 | for x-s         |
->|                 |                 |                 | perturbation.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| perturb_inc_fac | OT_REAL         | 8               | Increase factor |
->| t               |                 |                 | for x-s         |
->|                 |                 |                 | perturbation.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| perturb_inc_fac | OT_REAL         | 100             | Increase factor |
->| t_first         |                 |                 | for x-s         |
->|                 |                 |                 | perturbation    |
->|                 |                 |                 | for very first  |
->|                 |                 |                 | perturbation.   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| piecewisepenalt | OT_REAL         | 0.000           | LIFENG WRITES   |
->| y_gamma_infeasi |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| piecewisepenalt | OT_REAL         | 0.000           | LIFENG WRITES   |
->| y_gamma_obj     |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| point_perturbat | OT_REAL         | 10              | Maximal         |
->| ion_radius      |                 |                 | perturbation of |
->|                 |                 |                 | an evaluation   |
->|                 |                 |                 | point. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_frequency | OT_INTEGER      | 1               | Determines at   |
->| _iter           |                 |                 | which iteration |
->|                 |                 |                 | frequency the   |
->|                 |                 |                 | summarizing     |
->|                 |                 |                 | iteration       |
->|                 |                 |                 | output line     |
->|                 |                 |                 | should be       |
->|                 |                 |                 | printed. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_frequency | OT_REAL         | 0               | Determines at   |
->| _time           |                 |                 | which time      |
->|                 |                 |                 | frequency the   |
->|                 |                 |                 | summarizing     |
->|                 |                 |                 | iteration       |
->|                 |                 |                 | output line     |
->|                 |                 |                 | should be       |
->|                 |                 |                 | printed. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_info_stri | OT_STRING       | no              | Enables         |
->| ng              |                 |                 | printing of     |
->|                 |                 |                 | additional info |
->|                 |                 |                 | string at end   |
->|                 |                 |                 | of iteration    |
->|                 |                 |                 | output. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_level     | OT_INTEGER      | 5               | Output          |
->|                 |                 |                 | verbosity       |
->|                 |                 |                 | level. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_options_d | OT_STRING       | no              | Switch to print |
->| ocumentation    |                 |                 | all algorithmic |
->|                 |                 |                 | options. (see   |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_options_l | OT_STRING       | no              | Undocumented    |
->| atex_mode       |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_time      | OT_BOOLEAN      | True            | print           |
->|                 |                 |                 | information     |
->|                 |                 |                 | about execution |
->|                 |                 |                 | time            |
->+-----------------+-----------------+-----------------+-----------------+
->| print_timing_st | OT_STRING       | no              | Switch to print |
->| atistics        |                 |                 | timing          |
->|                 |                 |                 | statistics.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_user_opti | OT_STRING       | no              | Print all       |
->| ons             |                 |                 | options set by  |
->|                 |                 |                 | the user. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| quality_functio | OT_STRING       | none            | The balancing   |
->| n_balancing_ter |                 |                 | term included   |
->| m               |                 |                 | in the quality  |
->|                 |                 |                 | function for    |
->|                 |                 |                 | centrality.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| quality_functio | OT_STRING       | none            | The penalty     |
->| n_centrality    |                 |                 | term for        |
->|                 |                 |                 | centrality that |
->|                 |                 |                 | is included in  |
->|                 |                 |                 | quality         |
->|                 |                 |                 | function. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| quality_functio | OT_INTEGER      | 8               | Maximum number  |
->| n_max_section_s |                 |                 | of search steps |
->| teps            |                 |                 | during direct   |
->|                 |                 |                 | search          |
->|                 |                 |                 | procedure       |
->|                 |                 |                 | determining the |
->|                 |                 |                 | optimal         |
->|                 |                 |                 | centering       |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| quality_functio | OT_STRING       | 2-norm-squared  | Norm used for   |
->| n_norm_type     |                 |                 | components of   |
->|                 |                 |                 | the quality     |
->|                 |                 |                 | function. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| quality_functio | OT_REAL         | 0               | Tolerance for   |
->| n_section_qf_to |                 |                 | the golden      |
->| l               |                 |                 | section search  |
->|                 |                 |                 | procedure       |
->|                 |                 |                 | determining the |
->|                 |                 |                 | optimal         |
->|                 |                 |                 | centering       |
->|                 |                 |                 | parameter (in   |
->|                 |                 |                 | the function    |
->|                 |                 |                 | value space).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| quality_functio | OT_REAL         | 0.010           | Tolerance for   |
->| n_section_sigma |                 |                 | the section     |
->| _tol            |                 |                 | search          |
->|                 |                 |                 | procedure       |
->|                 |                 |                 | determining the |
->|                 |                 |                 | optimal         |
->|                 |                 |                 | centering       |
->|                 |                 |                 | parameter (in   |
->|                 |                 |                 | sigma space).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| recalc_y        | OT_STRING       | no              | Tells the       |
->|                 |                 |                 | algorithm to    |
->|                 |                 |                 | recalculate the |
->|                 |                 |                 | equality and    |
->|                 |                 |                 | inequality      |
->|                 |                 |                 | multipliers as  |
->|                 |                 |                 | least square    |
->|                 |                 |                 | estimates. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| recalc_y_feas_t | OT_REAL         | 0.000           | Feasibility     |
->| ol              |                 |                 | threshold for   |
->|                 |                 |                 | recomputation   |
->|                 |                 |                 | of multipliers. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| replace_bounds  | OT_STRING       | no              | Indicates if    |
->|                 |                 |                 | all variable    |
->|                 |                 |                 | bounds should   |
->|                 |                 |                 | be replaced by  |
->|                 |                 |                 | inequality      |
->|                 |                 |                 | constraints     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| required_infeas | OT_REAL         | 0.900           | Required        |
->| ibility_reducti |                 |                 | reduction of    |
->| on              |                 |                 | infeasibility   |
->|                 |                 |                 | before leaving  |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| residual_improv | OT_REAL         | 1.000           | Minimal         |
->| ement_factor    |                 |                 | required        |
->|                 |                 |                 | reduction of    |
->|                 |                 |                 | residual test   |
->|                 |                 |                 | ratio in        |
->|                 |                 |                 | iterative       |
->|                 |                 |                 | refinement.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| residual_ratio_ | OT_REAL         | 0.000           | Iterative       |
->| max             |                 |                 | refinement      |
->|                 |                 |                 | tolerance (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| residual_ratio_ | OT_REAL         | 0.000           | Threshold for   |
->| singular        |                 |                 | declaring       |
->|                 |                 |                 | linear system   |
->|                 |                 |                 | singular after  |
->|                 |                 |                 | failed          |
->|                 |                 |                 | iterative       |
->|                 |                 |                 | refinement.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| resto_failure_f | OT_REAL         | 0               | Threshold for   |
->| easibility_thre |                 |                 | primal          |
->| shold           |                 |                 | infeasibility   |
->|                 |                 |                 | to declare      |
->|                 |                 |                 | failure of      |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| resto_penalty_p | OT_REAL         | 1000            | Penalty         |
->| arameter        |                 |                 | parameter in    |
->|                 |                 |                 | the restoration |
->|                 |                 |                 | phase objective |
->|                 |                 |                 | function. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| resto_proximity | OT_REAL         | 1               | Weighting       |
->| _weight         |                 |                 | factor for the  |
->|                 |                 |                 | proximity term  |
->|                 |                 |                 | in restoration  |
->|                 |                 |                 | phase           |
->|                 |                 |                 | objective. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| rho             | OT_REAL         | 0.100           | Value in        |
->|                 |                 |                 | penalty         |
->|                 |                 |                 | parameter       |
->|                 |                 |                 | update formula. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| s_max           | OT_REAL         | 100             | Scaling         |
->|                 |                 |                 | threshold for   |
->|                 |                 |                 | the NLP error.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| s_phi           | OT_REAL         | 2.300           | Exponent for    |
->|                 |                 |                 | linear barrier  |
->|                 |                 |                 | function model  |
->|                 |                 |                 | in the          |
->|                 |                 |                 | switching rule. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| s_theta         | OT_REAL         | 1.100           | Exponent for    |
->|                 |                 |                 | current         |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation in    |
->|                 |                 |                 | the switching   |
->|                 |                 |                 | rule. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| sb              | OT_STRING       | no              | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| sigma_max       | OT_REAL         | 100             | Maximum value   |
->|                 |                 |                 | of the          |
->|                 |                 |                 | centering       |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| sigma_min       | OT_REAL         | 0.000           | Minimum value   |
->|                 |                 |                 | of the          |
->|                 |                 |                 | centering       |
->|                 |                 |                 | parameter. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| skip_corr_if_ne | OT_STRING       | yes             | Skip the        |
->| g_curv          |                 |                 | corrector step  |
->|                 |                 |                 | in negative     |
->|                 |                 |                 | curvature       |
->|                 |                 |                 | iteration       |
->|                 |                 |                 | (unsupported!). |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| skip_corr_in_mo | OT_STRING       | yes             | Skip the        |
->| notone_mode     |                 |                 | corrector step  |
->|                 |                 |                 | during monotone |
->|                 |                 |                 | barrier         |
->|                 |                 |                 | parameter mode  |
->|                 |                 |                 | (unsupported!). |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| skip_finalize_s | OT_STRING       | no              | Indicates if    |
->| olution_call    |                 |                 | call to NLP::Fi |
->|                 |                 |                 | nalizeSolution  |
->|                 |                 |                 | after           |
->|                 |                 |                 | optimization    |
->|                 |                 |                 | should be       |
->|                 |                 |                 | suppressed (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| slack_bound_fra | OT_REAL         | 0.010           | Desired minimum |
->| c               |                 |                 | relative        |
->|                 |                 |                 | distance from   |
->|                 |                 |                 | the initial     |
->|                 |                 |                 | slack to bound. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| slack_bound_pus | OT_REAL         | 0.010           | Desired minimum |
->| h               |                 |                 | absolute        |
->|                 |                 |                 | distance from   |
->|                 |                 |                 | the initial     |
->|                 |                 |                 | slack to bound. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| slack_move      | OT_REAL         | 0.000           | Correction size |
->|                 |                 |                 | for very small  |
->|                 |                 |                 | slacks. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| soft_resto_pder | OT_REAL         | 1.000           | Required        |
->| ror_reduction_f |                 |                 | reduction in    |
->| actor           |                 |                 | primal-dual     |
->|                 |                 |                 | error in the    |
->|                 |                 |                 | soft            |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| start_with_rest | OT_STRING       | no              | Tells algorithm |
->| o               |                 |                 | to switch to    |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | phase in first  |
->|                 |                 |                 | iteration. (see |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| suppress_all_ou | OT_STRING       | no              | Undocumented    |
->| tput            |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| tau_min         | OT_REAL         | 0.990           | Lower bound on  |
->|                 |                 |                 | fraction-to-    |
->|                 |                 |                 | the-boundary    |
->|                 |                 |                 | parameter tau.  |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| theta_max_fact  | OT_REAL         | 10000           | Determines      |
->|                 |                 |                 | upper bound for |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation in    |
->|                 |                 |                 | the filter.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| theta_min       | OT_REAL         | 0.000           | LIFENG WRITES   |
->|                 |                 |                 | THIS. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| theta_min_fact  | OT_REAL         | 0.000           | Determines      |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation       |
->|                 |                 |                 | threshold in    |
->|                 |                 |                 | the switching   |
->|                 |                 |                 | rule. (see      |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| tiny_step_tol   | OT_REAL         | 0.000           | Tolerance for   |
->|                 |                 |                 | detecting       |
->|                 |                 |                 | numerically     |
->|                 |                 |                 | insignificant   |
->|                 |                 |                 | steps. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| tiny_step_y_tol | OT_REAL         | 0.010           | Tolerance for   |
->|                 |                 |                 | quitting        |
->|                 |                 |                 | because of      |
->|                 |                 |                 | numerically     |
->|                 |                 |                 | insignificant   |
->|                 |                 |                 | steps. (see     |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| tol             | OT_REAL         | 0.000           | Desired         |
->|                 |                 |                 | convergence     |
->|                 |                 |                 | tolerance       |
->|                 |                 |                 | (relative).     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| var_integer_md  | OT_DICTIONARY   | None            | Integer         |
->|                 |                 |                 | metadata (a     |
->|                 |                 |                 | dictionary with |
->|                 |                 |                 | lists of        |
->|                 |                 |                 | integers) about |
->|                 |                 |                 | variables to be |
->|                 |                 |                 | passed to IPOPT |
->+-----------------+-----------------+-----------------+-----------------+
->| var_numeric_md  | OT_DICTIONARY   | None            | Numeric         |
->|                 |                 |                 | metadata (a     |
->|                 |                 |                 | dictionary with |
->|                 |                 |                 | lists of reals) |
->|                 |                 |                 | about variables |
->|                 |                 |                 | to be passed to |
->|                 |                 |                 | IPOPT           |
->+-----------------+-----------------+-----------------+-----------------+
->| var_string_md   | OT_DICTIONARY   | None            | String metadata |
->|                 |                 |                 | (a dictionary   |
->|                 |                 |                 | with lists of   |
->|                 |                 |                 | strings) about  |
->|                 |                 |                 | variables to be |
->|                 |                 |                 | passed to IPOPT |
->+-----------------+-----------------+-----------------+-----------------+
->| vartheta        | OT_REAL         | 0.500           | a parameter     |
->|                 |                 |                 | used to check   |
->|                 |                 |                 | if the fast     |
->|                 |                 |                 | direction can   |
->|                 |                 |                 | be used asthe   |
->|                 |                 |                 | line search     |
->|                 |                 |                 | direction (for  |
->|                 |                 |                 | Chen-Goldfarb   |
->|                 |                 |                 | line search).   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_boun | OT_REAL         | 0.001           | same as         |
->| d_frac          |                 |                 | bound_frac for  |
->|                 |                 |                 | the regular     |
->|                 |                 |                 | initializer.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_boun | OT_REAL         | 0.001           | same as         |
->| d_push          |                 |                 | bound_push for  |
->|                 |                 |                 | the regular     |
->|                 |                 |                 | initializer.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_enti | OT_STRING       | no              | Tells algorithm |
->| re_iterate      |                 |                 | whether to use  |
->|                 |                 |                 | the GetWarmStar |
->|                 |                 |                 | tIterate method |
->|                 |                 |                 | in the NLP.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_init | OT_STRING       | no              | Warm-start for  |
->| _point          |                 |                 | initial point   |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_mult | OT_REAL         | 0.001           | same as         |
->| _bound_push     |                 |                 | mult_bound_push |
->|                 |                 |                 | for the regular |
->|                 |                 |                 | initializer.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_mult | OT_REAL         | 1000000         | Maximum initial |
->| _init_max       |                 |                 | value for the   |
->|                 |                 |                 | equality        |
->|                 |                 |                 | multipliers.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_same | OT_STRING       | no              | Indicates       |
->| _structure      |                 |                 | whether a       |
->|                 |                 |                 | problem with a  |
->|                 |                 |                 | structure       |
->|                 |                 |                 | identical to    |
->|                 |                 |                 | the previous    |
->|                 |                 |                 | one is to be    |
->|                 |                 |                 | solved. (see    |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_slac | OT_REAL         | 0.001           | same as slack_b |
->| k_bound_frac    |                 |                 | ound_frac for   |
->|                 |                 |                 | the regular     |
->|                 |                 |                 | initializer.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_slac | OT_REAL         | 0.001           | same as slack_b |
->| k_bound_push    |                 |                 | ound_push for   |
->|                 |                 |                 | the regular     |
->|                 |                 |                 | initializer.    |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start_targ | OT_REAL         | 0               | Unsupported!    |
->| et_mu           |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| watchdog_shorte | OT_INTEGER      | 10              | Number of       |
->| ned_iter_trigge |                 |                 | shortened       |
->| r               |                 |                 | iterations that |
->|                 |                 |                 | trigger the     |
->|                 |                 |                 | watchdog. (see  |
->|                 |                 |                 | IPOPT           |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| watchdog_trial_ | OT_INTEGER      | 3               | Maximum number  |
->| iter_max        |                 |                 | of watchdog     |
->|                 |                 |                 | iterations.     |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->| wsmp_iterative  | OT_STRING       | no              | Switches to     |
->|                 |                 |                 | iterative       |
->|                 |                 |                 | solver in WSMP. |
->|                 |                 |                 | (see IPOPT      |
->|                 |                 |                 | documentation)  |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+-------------+
->|     Id      |
->+=============+
->| eval_f      |
->+-------------+
->| eval_g      |
->+-------------+
->| eval_grad_f |
->+-------------+
->| eval_h      |
->+-------------+
->| eval_jac_g  |
->+-------------+
->
->>List of available stats
->
->+--------------------+
->|         Id         |
->+====================+
->| con_integer_md     |
->+--------------------+
->| con_numeric_md     |
->+--------------------+
->| con_string_md      |
->+--------------------+
->| iter_count         |
->+--------------------+
->| iteration          |
->+--------------------+
->| iterations         |
->+--------------------+
->| n_eval_f           |
->+--------------------+
->| n_eval_g           |
->+--------------------+
->| n_eval_grad_f      |
->+--------------------+
->| n_eval_h           |
->+--------------------+
->| n_eval_jac_g       |
->+--------------------+
->| return_status      |
->+--------------------+
->| t_callback_fun     |
->+--------------------+
->| t_callback_prepare |
->+--------------------+
->| t_eval_f           |
->+--------------------+
->| t_eval_g           |
->+--------------------+
->| t_eval_grad_f      |
->+--------------------+
->| t_eval_h           |
->+--------------------+
->| t_eval_jac_g       |
->+--------------------+
->| t_mainloop         |
->+--------------------+
->| var_integer_md     |
->+--------------------+
->| var_numeric_md     |
->+--------------------+
->| var_string_md      |
->+--------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->knitro
->------
->
->
->
->KNITRO interface
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| BarRule         | OT_INTEGER      | 0               | Barrier Rule    |
->+-----------------+-----------------+-----------------+-----------------+
->| Debug           | OT_INTEGER      | 0               | Debug level     |
->+-----------------+-----------------+-----------------+-----------------+
->| Delta           | OT_REAL         | 1               | Initial region  |
->|                 |                 |                 | scaling factor  |
->+-----------------+-----------------+-----------------+-----------------+
->| FeasModeTol     | OT_REAL         | 0.000           | Feasible mode   |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| FeasTol         | OT_REAL         | 0.000           | Feasible        |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| FeasTolAbs      | OT_REAL         | 0               | Absolute        |
->|                 |                 |                 | feasible        |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| Feasible        | OT_BOOLEAN      | 1               | Allow           |
->|                 |                 |                 | infeasible      |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| GradOpt         | OT_INTEGER      | 1               | Gradient        |
->|                 |                 |                 | calculation     |
->|                 |                 |                 | method          |
->+-----------------+-----------------+-----------------+-----------------+
->| HessOpt         | OT_INTEGER      | 1               | Hessian         |
->|                 |                 |                 | calculation     |
->|                 |                 |                 | method          |
->+-----------------+-----------------+-----------------+-----------------+
->| HonorBnds       | OT_BOOLEAN      | 0               | Enforce bounds  |
->+-----------------+-----------------+-----------------+-----------------+
->| InitPt          | OT_BOOLEAN      | 0               | Use initial     |
->|                 |                 |                 | point strategy  |
->+-----------------+-----------------+-----------------+-----------------+
->| LmSize          | OT_INTEGER      | 10              | Memory pairsize |
->|                 |                 |                 | limit           |
->+-----------------+-----------------+-----------------+-----------------+
->| LpSolver        | OT_BOOLEAN      | 0               | Use LpSolver    |
->+-----------------+-----------------+-----------------+-----------------+
->| MaxCgIt         | OT_INTEGER      | 0               | Maximum         |
->|                 |                 |                 | conjugate       |
->|                 |                 |                 | gradient        |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| MaxIt           | OT_INTEGER      | 10000           | Iteration limit |
->+-----------------+-----------------+-----------------+-----------------+
->| Mu              | OT_REAL         | 0.100           | Initial barrier |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| Multistart      | OT_BOOLEAN      | 0               | Use multistart  |
->+-----------------+-----------------+-----------------+-----------------+
->| NewPoint        | OT_BOOLEAN      | 0               | Select new-     |
->|                 |                 |                 | point feature   |
->+-----------------+-----------------+-----------------+-----------------+
->| ObjRange        | OT_REAL         | 1.000e+20       | Maximum         |
->|                 |                 |                 | objective value |
->+-----------------+-----------------+-----------------+-----------------+
->| OptTol          | OT_REAL         | 0.000           | Relative        |
->|                 |                 |                 | optimality      |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| OptTolAbs       | OT_REAL         | 0               | Absolute        |
->|                 |                 |                 | optimality      |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| OutLev          | OT_INTEGER      | 2               | Log output      |
->|                 |                 |                 | level           |
->+-----------------+-----------------+-----------------+-----------------+
->| Pivot           | OT_REAL         | 0.000           | Initial pivot   |
->|                 |                 |                 | threshold       |
->+-----------------+-----------------+-----------------+-----------------+
->| Scale           | OT_BOOLEAN      | 1               | Perform scaling |
->+-----------------+-----------------+-----------------+-----------------+
->| ShiftInit       | OT_BOOLEAN      | 1               | Interior-point  |
->|                 |                 |                 | shifting        |
->|                 |                 |                 | initial point   |
->+-----------------+-----------------+-----------------+-----------------+
->| Soc             | OT_INTEGER      | 1               | Second order    |
->|                 |                 |                 | correction      |
->+-----------------+-----------------+-----------------+-----------------+
->| XTol            | OT_REAL         | 0.000           | Relative        |
->|                 |                 |                 | solution change |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| contype         | OT_INTEGERVECTO |                 |                 |
->|                 | R               |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+-------------+
->|     Id      |
->+=============+
->| eval_f      |
->+-------------+
->| eval_g      |
->+-------------+
->| eval_grad_f |
->+-------------+
->| eval_h      |
->+-------------+
->| eval_jac_g  |
->+-------------+
->
->>List of available stats
->
->+---------------+
->|      Id       |
->+===============+
->| return_status |
->+---------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->snopt
->-----
->
->
->
->SNOPT interface
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| Backup basis    | OT_INTEGER      | None            | 0 * output      |
->| file            |                 |                 | extra basis map |
->+-----------------+-----------------+-----------------+-----------------+
->| Central         | OT_REAL         | None            | 6.7e-5 * (      |
->| difference      |                 |                 | Function        |
->| interval        |                 |                 | precision)^1/3  |
->+-----------------+-----------------+-----------------+-----------------+
->| Check frequency | OT_INTEGER      | None            | 60 * test row   |
->|                 |                 |                 | residuals kAx   |
->|                 |                 |                 | sk              |
->+-----------------+-----------------+-----------------+-----------------+
->| Crash option    | OT_INTEGER      | None            | 3 * first basis |
->|                 |                 |                 | is essentially  |
->|                 |                 |                 | triangular      |
->+-----------------+-----------------+-----------------+-----------------+
->| Crash tolerance | OT_REAL         | None            | 0.100           |
->+-----------------+-----------------+-----------------+-----------------+
->| Debug level     | OT_INTEGER      | None            | 0 * for         |
->|                 |                 |                 | developers      |
->+-----------------+-----------------+-----------------+-----------------+
->| Derivative      | OT_INTEGER      | None            | 3               |
->| level           |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| Difference      | OT_REAL         | None            | 5.5e-7 * (      |
->| interval        |                 |                 | Function        |
->|                 |                 |                 | precision)^1/2  |
->+-----------------+-----------------+-----------------+-----------------+
->| Dump file       | OT_INTEGER      | None            | 0 * output Load |
->|                 |                 |                 | data            |
->+-----------------+-----------------+-----------------+-----------------+
->| Elastic weight  | OT_REAL         | None            | 1.0e+4 * used   |
->|                 |                 |                 | only during     |
->|                 |                 |                 | elastic mode    |
->+-----------------+-----------------+-----------------+-----------------+
->| Expand          | OT_INTEGER      | None            | 10000 * for     |
->| frequency       |                 |                 | anti-cycling    |
->|                 |                 |                 | procedure       |
->+-----------------+-----------------+-----------------+-----------------+
->| Factorization   | OT_INTEGER      | None            | 50 * 100 for    |
->| frequency       |                 |                 | LPs             |
->+-----------------+-----------------+-----------------+-----------------+
->| Function        | OT_REAL         | None            | 3.0e-13 * e^0.8 |
->| precision       |                 |                 | (almost full    |
->|                 |                 |                 | accuracy)       |
->+-----------------+-----------------+-----------------+-----------------+
->| Hessian         | OT_STRING       | None            | full memory *   |
->|                 |                 |                 | default if n1   |
->|                 |                 |                 | 75  limited     |
->|                 |                 |                 | memory *        |
->|                 |                 |                 | default if n1 > |
->|                 |                 |                 | 75              |
->+-----------------+-----------------+-----------------+-----------------+
->| Hessian flush   | OT_INTEGER      | None            | 999999 * no     |
->|                 |                 |                 | flushing        |
->+-----------------+-----------------+-----------------+-----------------+
->| Hessian         | OT_INTEGER      | None            | 999999 * for    |
->| frequency       |                 |                 | full Hessian    |
->|                 |                 |                 | (never reset)   |
->+-----------------+-----------------+-----------------+-----------------+
->| Hessian updates | OT_INTEGER      | None            | 10 * for        |
->|                 |                 |                 | limited memory  |
->|                 |                 |                 | Hessian         |
->+-----------------+-----------------+-----------------+-----------------+
->| Insert file     | OT_INTEGER      | None            | 0 * input in    |
->|                 |                 |                 | industry format |
->+-----------------+-----------------+-----------------+-----------------+
->| Iterations      | OT_INTEGER      | None            | 10000 * or 20m  |
->| limit           |                 |                 | if that is more |
->+-----------------+-----------------+-----------------+-----------------+
->| LU              | OT_STRING       | None            | LU partial      |
->|                 |                 |                 | pivoting *      |
->|                 |                 |                 | default         |
->|                 |                 |                 | threshold       |
->|                 |                 |                 | pivoting        |
->|                 |                 |                 | strategy  LU    |
->|                 |                 |                 | rook pivoting * |
->|                 |                 |                 | threshold rook  |
->|                 |                 |                 | pivoting  LU    |
->|                 |                 |                 | complete        |
->|                 |                 |                 | pivoting *      |
->|                 |                 |                 | threshold       |
->|                 |                 |                 | complete        |
->|                 |                 |                 | pivoting        |
->+-----------------+-----------------+-----------------+-----------------+
->| LU factor       | OT_REAL         | None            | 3.99 * for NP   |
->| tolerance       |                 |                 | (100.0 for LP)  |
->+-----------------+-----------------+-----------------+-----------------+
->| LU singularity  | OT_REAL         | None            | 0.000           |
->| tolerance       |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| LU update       | OT_REAL         | None            | 3.99 * for NP ( |
->| tolerance       |                 |                 | 10.0 for LP)    |
->+-----------------+-----------------+-----------------+-----------------+
->| Linesearch      | OT_REAL         | None            | 0.9 * smaller   |
->| tolerance       |                 |                 | for more        |
->|                 |                 |                 | accurate search |
->+-----------------+-----------------+-----------------+-----------------+
->| Load file       | OT_INTEGER      | None            | 0 * input names |
->|                 |                 |                 | and values      |
->+-----------------+-----------------+-----------------+-----------------+
->| Major           | OT_REAL         | None            | 1.0e-6 * target |
->| feasibility     |                 |                 | nonlinear       |
->| tolerance       |                 |                 | constraint      |
->|                 |                 |                 | violation       |
->+-----------------+-----------------+-----------------+-----------------+
->| Major           | OT_INTEGER      | None            | 1000 * or m if  |
->| iterations      |                 |                 | that is more    |
->| limit           |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| Major           | OT_REAL         | None            | 1.0e-6 * target |
->| optimality      |                 |                 | complementarity |
->| tolerance       |                 |                 | gap             |
->+-----------------+-----------------+-----------------+-----------------+
->| Major print     | OT_INTEGER      | None            | 1 * 1-line      |
->| level           |                 |                 | major iteration |
->|                 |                 |                 | log             |
->+-----------------+-----------------+-----------------+-----------------+
->| Major step      | OT_REAL         | None            | 2               |
->| limit           |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| Minor           | OT_REAL         | None            | 1.0e-6 * for    |
->| feasibility     |                 |                 | satisfying the  |
->| tolerance       |                 |                 | QP bounds       |
->+-----------------+-----------------+-----------------+-----------------+
->| Minor           | OT_INTEGER      | None            | 500 * or 3m if  |
->| iterations      |                 |                 | that is more    |
->| limit           |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| Minor print     | OT_INTEGER      | None            | 1 * 1-line      |
->| level           |                 |                 | minor iteration |
->|                 |                 |                 | log             |
->+-----------------+-----------------+-----------------+-----------------+
->| New basis file  | OT_INTEGER      | None            | 0 * output      |
->|                 |                 |                 | basis map       |
->+-----------------+-----------------+-----------------+-----------------+
->| New superbasics | OT_INTEGER      | None            | 99 * controls   |
->| limit           |                 |                 | early           |
->|                 |                 |                 | termination of  |
->|                 |                 |                 | QPs             |
->+-----------------+-----------------+-----------------+-----------------+
->| Old basis file  | OT_INTEGER      | None            | 0 * input basis |
->|                 |                 |                 | map             |
->+-----------------+-----------------+-----------------+-----------------+
->| Partial price   | OT_INTEGER      | None            | 1 * 10 for      |
->|                 |                 |                 | large LPs       |
->+-----------------+-----------------+-----------------+-----------------+
->| Penalty         | OT_REAL         | None            | 0.0 * initial   |
->| parameter       |                 |                 | penalty         |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| Pivot tolerance | OT_REAL         | None            | 3.7e-11 * e^2/3 |
->+-----------------+-----------------+-----------------+-----------------+
->| Print frequency | OT_INTEGER      | None            | 100 * minor     |
->|                 |                 |                 | iterations log  |
->|                 |                 |                 | on Print file   |
->+-----------------+-----------------+-----------------+-----------------+
->| Proximal point  | OT_INTEGER      | None            | 1 * satisfies   |
->| method          |                 |                 | linear          |
->|                 |                 |                 | constraints     |
->|                 |                 |                 | near x0         |
->+-----------------+-----------------+-----------------+-----------------+
->| Punch file      | OT_INTEGER      | None            | 0 * output      |
->|                 |                 |                 | Insert data     |
->+-----------------+-----------------+-----------------+-----------------+
->| QPSolver        | OT_STRING       | None            | Cholesky *      |
->|                 |                 |                 | default         |
->+-----------------+-----------------+-----------------+-----------------+
->| Reduced Hessian | OT_INTEGER      | None            | 2000 * or       |
->| dimension       |                 |                 | Superbasics     |
->|                 |                 |                 | limit if that   |
->|                 |                 |                 | is less         |
->+-----------------+-----------------+-----------------+-----------------+
->| Save frequency  | OT_INTEGER      | None            | 100 * save      |
->|                 |                 |                 | basis map       |
->+-----------------+-----------------+-----------------+-----------------+
->| Scale option    | OT_INTEGER      | None            | 1 * linear      |
->|                 |                 |                 | constraints and |
->|                 |                 |                 | variables       |
->+-----------------+-----------------+-----------------+-----------------+
->| Scale tolerance | OT_REAL         | None            | 0.900           |
->+-----------------+-----------------+-----------------+-----------------+
->| Solution        | OT_STRING       | None            | Yes * on the    |
->|                 |                 |                 | Print file      |
->+-----------------+-----------------+-----------------+-----------------+
->| Solution file   | OT_INTEGER      | None            | 0 * different   |
->|                 |                 |                 | from printed    |
->|                 |                 |                 | solution        |
->+-----------------+-----------------+-----------------+-----------------+
->| Sticky          | OT_STRING       | None            | No * Yes makes  |
->| parameters      |                 |                 | parameter       |
->|                 |                 |                 | values persist  |
->+-----------------+-----------------+-----------------+-----------------+
->| Summary         | OT_INTEGER      | None            | 100 * minor     |
->| frequency       |                 |                 | iterations log  |
->|                 |                 |                 | on Summary file |
->+-----------------+-----------------+-----------------+-----------------+
->| Superbasics     | OT_INTEGER      | None            | n1 + 1 * n1 =   |
->| limit           |                 |                 | number of       |
->|                 |                 |                 | nonlinear       |
->|                 |                 |                 | variables       |
->+-----------------+-----------------+-----------------+-----------------+
->| System          | OT_STRING       | None            | No * Yes prints |
->| information     |                 |                 | more system     |
->|                 |                 |                 | information     |
->+-----------------+-----------------+-----------------+-----------------+
->| Timing level    | OT_INTEGER      | None            | 3 * print cpu   |
->|                 |                 |                 | times           |
->+-----------------+-----------------+-----------------+-----------------+
->| Unbounded       | OT_REAL         | None            | 1.000e+15       |
->| objective       |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| Unbounded step  | OT_REAL         | None            | 1.000e+18       |
->| size            |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| Verify level    | OT_INTEGER      | None            | 0 * cheap check |
->|                 |                 |                 | on gradients    |
->+-----------------+-----------------+-----------------+-----------------+
->| Violation limit | OT_REAL         | None            | 10.0 * unscaled |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation limit |
->+-----------------+-----------------+-----------------+-----------------+
->| detect_linear   | OT_BOOLEAN      | True            | Make an effort  |
->|                 |                 |                 | to treat linear |
->|                 |                 |                 | constraints and |
->|                 |                 |                 | linear          |
->|                 |                 |                 | variables       |
->|                 |                 |                 | specially.      |
->+-----------------+-----------------+-----------------+-----------------+
->| print file      | OT_STRING       | None            | n/a             |
->+-----------------+-----------------+-----------------+-----------------+
->| print_time      | OT_BOOLEAN      | True            | print           |
->|                 |                 |                 | information     |
->|                 |                 |                 | about execution |
->|                 |                 |                 | time            |
->+-----------------+-----------------+-----------------+-----------------+
->| specs file      | OT_STRING       | None            | n/a             |
->+-----------------+-----------------+-----------------+-----------------+
->| start           | OT_STRING       | Cold            |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| summary         | OT_BOOLEAN      | True            | n/a             |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+-----------+
->|    Id     |
->+===========+
->| eval_nlp  |
->+-----------+
->| setup_nlp |
->+-----------+
->
->>List of available stats
->
->+----------------+
->|       Id       |
->+================+
->| iter_count     |
->+----------------+
->| iterations     |
->+----------------+
->| n_callback_fun |
->+----------------+
->| n_eval_grad_f  |
->+----------------+
->| n_eval_jac_g   |
->+----------------+
->| return_status  |
->+----------------+
->| t_callback_fun |
->+----------------+
->| t_eval_grad_f  |
->+----------------+
->| t_eval_jac_g   |
->+----------------+
->| t_mainloop     |
->+----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->worhp
->-----
->
->
->
->WORHP interface
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| AcceptTolFeas   | OT_REAL         | 0.001           | Tolerance for   |
->|                 |                 |                 | acceptable      |
->|                 |                 |                 | feasibility     |
->+-----------------+-----------------+-----------------+-----------------+
->| AcceptTolOpti   | OT_REAL         | 0.001           | Tolerance for   |
->|                 |                 |                 | acceptable      |
->|                 |                 |                 | optimality      |
->+-----------------+-----------------+-----------------+-----------------+
->| AlphaMinConst   | OT_BOOLEAN      | False           | Use a constant  |
->|                 |                 |                 | lower bound on  |
->|                 |                 |                 | Armijo stepsize |
->|                 |                 |                 | in Filter       |
->+-----------------+-----------------+-----------------+-----------------+
->| Ares            | OT_INTEGERVECTO | [42, 41, 42,    | Armijo recovery |
->|                 | R               | 43, 44, 41, 50] | strategies.     |
->|                 |                 |                 | Vector of size  |
->|                 |                 |                 | 7               |
->+-----------------+-----------------+-----------------+-----------------+
->| ArmijoBeta      | OT_REAL         | 0.712           | Trial stepsize  |
->|                 |                 |                 | decrease factor |
->|                 |                 |                 | for Armijo rule |
->+-----------------+-----------------+-----------------+-----------------+
->| ArmijoMaxAlpha  | OT_REAL         | 1               | Initial alpha   |
->|                 |                 |                 | for Armijo rule |
->+-----------------+-----------------+-----------------+-----------------+
->| ArmijoMinAlpha  | OT_REAL         | 0.000           | Lower bound on  |
->|                 |                 |                 | alpha for       |
->|                 |                 |                 | Armijo rule     |
->+-----------------+-----------------+-----------------+-----------------+
->| ArmijoMinAlphaR | OT_REAL         | 0.000           | Lower bound on  |
->| ec              |                 |                 | alpha for       |
->|                 |                 |                 | Armijo rule     |
->|                 |                 |                 | during recovery |
->+-----------------+-----------------+-----------------+-----------------+
->| ArmijoSigma     | OT_REAL         | 0.005           | Scale factor    |
->|                 |                 |                 | for linearised  |
->|                 |                 |                 | descent check   |
->|                 |                 |                 | in Armijo rule  |
->+-----------------+-----------------+-----------------+-----------------+
->| AutoQPRecovery  | OT_BOOLEAN      | True            | Enable          |
->|                 |                 |                 | automatic QP    |
->|                 |                 |                 | recovery        |
->+-----------------+-----------------+-----------------+-----------------+
->| BFGSmaxblockSiz | OT_INTEGER      | 300             | Block size      |
->| e               |                 |                 | parameter used  |
->|                 |                 |                 | by certain BFGS |
->|                 |                 |                 | methods         |
->+-----------------+-----------------+-----------------+-----------------+
->| BFGSmethod      | OT_INTEGER      | 0               | Choose BFGS     |
->|                 |                 |                 | method (0:      |
->|                 |                 |                 | dense, 1-3:     |
->|                 |                 |                 | block, 100+:    |
->|                 |                 |                 | sparse)         |
->+-----------------+-----------------+-----------------+-----------------+
->| BFGSminblockSiz | OT_INTEGER      | 300             | Block size      |
->| e               |                 |                 | parameter used  |
->|                 |                 |                 | by certain BFGS |
->|                 |                 |                 | methods         |
->+-----------------+-----------------+-----------------+-----------------+
->| BFGSrestart     | OT_INTEGER      | 50              | Restart BFGS    |
->|                 |                 |                 | update after    |
->|                 |                 |                 | this many       |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| BettsFactor     | OT_REAL         | 2.100           | Update factor   |
->|                 |                 |                 | for Betts'      |
->|                 |                 |                 | Hessian         |
->|                 |                 |                 | regularisation  |
->+-----------------+-----------------+-----------------+-----------------+
->| BettsPoint      | OT_REAL         | 1               | Smallest        |
->|                 |                 |                 | eigenvalue of   |
->|                 |                 |                 | the regularised |
->|                 |                 |                 | Hessian         |
->+-----------------+-----------------+-----------------+-----------------+
->| BoundTolFac     | OT_REAL         | 1000            | Factor in       |
->|                 |                 |                 | determining     |
->|                 |                 |                 | active          |
->|                 |                 |                 | constraints by  |
->|                 |                 |                 | KKT             |
->+-----------------+-----------------+-----------------+-----------------+
->| CheckFJ         | OT_REAL         | 1.000e+12       | Upper bound     |
->|                 |                 |                 | used by Fritz-  |
->|                 |                 |                 | John heuristic  |
->+-----------------+-----------------+-----------------+-----------------+
->| CheckStructureD | OT_BOOLEAN      | True            | Enable          |
->| F               |                 |                 | structural      |
->|                 |                 |                 | checking of DF  |
->+-----------------+-----------------+-----------------+-----------------+
->| CheckStructureD | OT_BOOLEAN      | True            | Enable          |
->| G               |                 |                 | structural      |
->|                 |                 |                 | checking of DG  |
->+-----------------+-----------------+-----------------+-----------------+
->| CheckStructureH | OT_BOOLEAN      | True            | Enable          |
->| M               |                 |                 | structural      |
->|                 |                 |                 | checking of HM  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepBettsSum | OT_REAL         | 0.500           | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepConStop  | OT_REAL         | 0.000           | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepConvio   | OT_REAL         | 1               | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepMaxIter  | OT_INTEGER      | 50              | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepMethod   | OT_INTEGER      | 0               | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepMode     | OT_INTEGER      | 1               | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepPFactor  | OT_REAL         | 1               | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepPMax     | OT_REAL         | 1000000         | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| CorStepRecovery | OT_BOOLEAN      | False           | (experimental)  |
->| DX              |                 |                 |                 |
->+-----------------+-----------------+-----------------+-----------------+
->| CurvBCond       | OT_REAL         | 0.020           | Block BFGS      |
->|                 |                 |                 | curvature       |
->|                 |                 |                 | condition bound |
->+-----------------+-----------------+-----------------+-----------------+
->| CurvBFac        | OT_REAL         | 0.300           | Block BFGS      |
->|                 |                 |                 | curvature       |
->|                 |                 |                 | condition       |
->|                 |                 |                 | regularisation  |
->|                 |                 |                 | factor          |
->+-----------------+-----------------+-----------------+-----------------+
->| CurvCond        | OT_REAL         | 0.020           | BFGS Curvature  |
->|                 |                 |                 | condition bound |
->+-----------------+-----------------+-----------------+-----------------+
->| CurvFac         | OT_REAL         | 0.300           | BFGS curvature  |
->|                 |                 |                 | condition       |
->|                 |                 |                 | regularisation  |
->|                 |                 |                 | factor          |
->+-----------------+-----------------+-----------------+-----------------+
->| DebugMarker05   | OT_INTEGER      | 42              | Debug marker.   |
->|                 |                 |                 | Used to find    |
->|                 |                 |                 | memory alignmen |
->|                 |                 |                 | t/padding       |
->|                 |                 |                 | issues          |
->+-----------------+-----------------+-----------------+-----------------+
->| DebugMarker06   | OT_INTEGER      | 42              | Debug marker.   |
->|                 |                 |                 | Used to find    |
->|                 |                 |                 | memory alignmen |
->|                 |                 |                 | t/padding       |
->|                 |                 |                 | issues          |
->+-----------------+-----------------+-----------------+-----------------+
->| FGtogether      | OT_BOOLEAN      | False           | F and G cannot  |
->|                 |                 |                 | be evaluated    |
->|                 |                 |                 | separately      |
->+-----------------+-----------------+-----------------+-----------------+
->| FJandND         | OT_BOOLEAN      | False           | Enable Fritz-   |
->|                 |                 |                 | John and non-   |
->|                 |                 |                 | differentiable  |
->|                 |                 |                 | check           |
->|                 |                 |                 | heuristics      |
->+-----------------+-----------------+-----------------+-----------------+
->| FeasibleDual    | OT_BOOLEAN      | False           | Activate dual   |
->|                 |                 |                 | feasibility     |
->|                 |                 |                 | mode            |
->+-----------------+-----------------+-----------------+-----------------+
->| FeasibleInit    | OT_BOOLEAN      | False           | Activate        |
->|                 |                 |                 | initial         |
->|                 |                 |                 | feasibility     |
->|                 |                 |                 | mode            |
->+-----------------+-----------------+-----------------+-----------------+
->| FeasibleInitTol | OT_REAL         | 0.001           | Feasibility     |
->|                 |                 |                 | tolerance for   |
->|                 |                 |                 | no-objective    |
->|                 |                 |                 | feasible mode   |
->+-----------------+-----------------+-----------------+-----------------+
->| FeasibleOnly    | OT_BOOLEAN      | False           | Activate        |
->|                 |                 |                 | feasible-only   |
->|                 |                 |                 | mode            |
->+-----------------+-----------------+-----------------+-----------------+
->| FidifEps        | OT_REAL         | 0.000           | Finite          |
->|                 |                 |                 | difference      |
->|                 |                 |                 | perturbation    |
->+-----------------+-----------------+-----------------+-----------------+
->| FidifHM         | OT_BOOLEAN      | False           | Approximate     |
->|                 |                 |                 | Hessian by      |
->|                 |                 |                 | finite          |
->|                 |                 |                 | differences     |
->|                 |                 |                 | (otherwise      |
->|                 |                 |                 | BFGS)           |
->+-----------------+-----------------+-----------------+-----------------+
->| FilterBisecAlph | OT_BOOLEAN      | True            | Filter          |
->| a               |                 |                 | heuristic to    |
->|                 |                 |                 | save Armijo     |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| FilterGammaCV   | OT_REAL         | 0.000           | Constraint      |
->|                 |                 |                 | violation       |
->|                 |                 |                 | decrease factor |
->|                 |                 |                 | in Filter       |
->|                 |                 |                 | acceptance      |
->|                 |                 |                 | check           |
->+-----------------+-----------------+-----------------+-----------------+
->| FilterGammaF    | OT_REAL         | 0.000           | Objective       |
->|                 |                 |                 | decrease factor |
->|                 |                 |                 | in Filter       |
->|                 |                 |                 | acceptance      |
->|                 |                 |                 | check           |
->+-----------------+-----------------+-----------------+-----------------+
->| FilterIntersecA | OT_BOOLEAN      | True            | Filter          |
->| lpha            |                 |                 | heuristic to    |
->|                 |                 |                 | save Armijo     |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| FirstDifCentral | OT_BOOLEAN      | True            | Use central     |
->|                 |                 |                 | finite          |
->|                 |                 |                 | difference      |
->|                 |                 |                 | quotient for    |
->|                 |                 |                 | first           |
->|                 |                 |                 | derivatives     |
->+-----------------+-----------------+-----------------+-----------------+
->| FocusOnFeas     | OT_BOOLEAN      | True            | Enable Focus-   |
->|                 |                 |                 | on-Feasibility  |
->|                 |                 |                 | mode            |
->+-----------------+-----------------+-----------------+-----------------+
->| FocusOnFeasFact | OT_REAL         | 1.360           | Factor in       |
->| or              |                 |                 | Focus-on-       |
->|                 |                 |                 | Feasibility     |
->|                 |                 |                 | mode            |
->+-----------------+-----------------+-----------------+-----------------+
->| GammaAlpha      | OT_REAL         | 0.050           | Safety factor   |
->|                 |                 |                 | for alphamin    |
->|                 |                 |                 | calculation by  |
->|                 |                 |                 | Filter          |
->+-----------------+-----------------+-----------------+-----------------+
->| GroupMethod     | OT_INTEGER      | 1               | Select method   |
->|                 |                 |                 | to determine    |
->|                 |                 |                 | graph colouring |
->|                 |                 |                 | groups          |
->+-----------------+-----------------+-----------------+-----------------+
->| IgnoreFilterCri | OT_BOOLEAN      | False           | Activate        |
->| t               |                 |                 | accelerating    |
->|                 |                 |                 | heuristics for  |
->|                 |                 |                 | Filter          |
->+-----------------+-----------------+-----------------+-----------------+
->| IncBettsTau     | OT_REAL         | 2               | Increase factor |
->|                 |                 |                 | for Betts'      |
->|                 |                 |                 | update          |
->|                 |                 |                 | dampening term  |
->+-----------------+-----------------+-----------------+-----------------+
->| IncBettsTauMore | OT_REAL         | 100             | Larger increase |
->|                 |                 |                 | factor for      |
->|                 |                 |                 | Betts' update   |
->|                 |                 |                 | dampening term  |
->+-----------------+-----------------+-----------------+-----------------+
->| IncreaseIWS     | OT_REAL         | 1               | Increase factor |
->|                 |                 |                 | for estimated   |
->|                 |                 |                 | integer         |
->|                 |                 |                 | workspace       |
->|                 |                 |                 | requirement     |
->+-----------------+-----------------+-----------------+-----------------+
->| IncreaseRWS     | OT_REAL         | 1               | Increase factor |
->|                 |                 |                 | for estimated   |
->|                 |                 |                 | real workspace  |
->|                 |                 |                 | requirement     |
->+-----------------+-----------------+-----------------+-----------------+
->| Infty           | OT_REAL         | 1.000e+20       | Upper bound for |
->|                 |                 |                 | numbers to be   |
->|                 |                 |                 | regarded as     |
->|                 |                 |                 | finite          |
->+-----------------+-----------------+-----------------+-----------------+
->| InftyUnbounded  | OT_REAL         | 1.000e+20       | Tolerance for   |
->|                 |                 |                 | unboundedness   |
->|                 |                 |                 | detection       |
->|                 |                 |                 | heuristic       |
->+-----------------+-----------------+-----------------+-----------------+
->| InitialLMest    | OT_BOOLEAN      | True            | Enable initial  |
->|                 |                 |                 | Lagrange        |
->|                 |                 |                 | multiplier      |
->|                 |                 |                 | estimate        |
->+-----------------+-----------------+-----------------+-----------------+
->| KeepAcceptableS | OT_BOOLEAN      | True            | Save acceptable |
->| ol              |                 |                 | solutions as    |
->|                 |                 |                 | fallback        |
->+-----------------+-----------------+-----------------+-----------------+
->| LMestQPipComTol | OT_REAL         | 0.003           | IP              |
->|                 |                 |                 | complementarity |
->|                 |                 |                 | tolerance in    |
->|                 |                 |                 | initial         |
->|                 |                 |                 | multiplier      |
->|                 |                 |                 | estimate        |
->+-----------------+-----------------+-----------------+-----------------+
->| LMestQPipResTol | OT_REAL         | 1               | IP residual     |
->|                 |                 |                 | tolerance in    |
->|                 |                 |                 | initial         |
->|                 |                 |                 | multiplier      |
->|                 |                 |                 | estimate        |
->+-----------------+-----------------+-----------------+-----------------+
->| LinMult         | OT_BOOLEAN      | False           | Control         |
->|                 |                 |                 | Lagrange        |
->|                 |                 |                 | multiplier      |
->|                 |                 |                 | update          |
->+-----------------+-----------------+-----------------+-----------------+
->| LogLevel        | OT_INTEGER      | 0               | Enable XML      |
->|                 |                 |                 | logfiles and    |
->|                 |                 |                 | writing         |
->|                 |                 |                 | interval        |
->+-----------------+-----------------+-----------------+-----------------+
->| LogResult       | OT_INTEGER      | 0               | Enable XML      |
->|                 |                 |                 | result logging  |
->|                 |                 |                 | and detail      |
->|                 |                 |                 | level           |
->+-----------------+-----------------+-----------------+-----------------+
->| LowPassAlphaF   | OT_REAL         | 0.950           | Lowpass-filter  |
->|                 |                 |                 | update factor   |
->|                 |                 |                 | for objective   |
->|                 |                 |                 | values          |
->+-----------------+-----------------+-----------------+-----------------+
->| LowPassAlphaG   | OT_REAL         | 0.950           | Lowpass-filter  |
->|                 |                 |                 | update factor   |
->|                 |                 |                 | for constraint  |
->|                 |                 |                 | values          |
->+-----------------+-----------------+-----------------+-----------------+
->| LowPassAlphaMer | OT_REAL         | 0.100           | Lowpass-filter  |
->| it              |                 |                 | update factor   |
->|                 |                 |                 | for merit       |
->|                 |                 |                 | function values |
->+-----------------+-----------------+-----------------+-----------------+
->| LowPassFilter   | OT_BOOLEAN      | True            | Enable lowpass- |
->|                 |                 |                 | filter          |
->|                 |                 |                 | termination     |
->|                 |                 |                 | criterion       |
->+-----------------+-----------------+-----------------+-----------------+
->| MAPivotThreshol | OT_REAL         | 0.000           | Pivoting        |
->| d               |                 |                 | tolerance for   |
->|                 |                 |                 | MA solvers      |
->+-----------------+-----------------+-----------------+-----------------+
->| MatrixCC        | OT_BOOLEAN      | False           | Not to be       |
->|                 |                 |                 | included into a |
->|                 |                 |                 | parameter file! |
->+-----------------+-----------------+-----------------+-----------------+
->| MaxCalls        | OT_INTEGER      | 2.147e+09       | Upper bound to  |
->|                 |                 |                 | Reverse         |
->|                 |                 |                 | Communication   |
->|                 |                 |                 | calls           |
->+-----------------+-----------------+-----------------+-----------------+
->| MaxForce        | OT_INTEGER      | 1000            | Maximum number  |
->|                 |                 |                 | of Force        |
->|                 |                 |                 | recovery        |
->|                 |                 |                 | strategy steps  |
->+-----------------+-----------------+-----------------+-----------------+
->| MaxGPart        | OT_INTEGER      | 1               | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| MaxIter         | OT_INTEGER      | 500             | Upper bound on  |
->|                 |                 |                 | major           |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| MaxLScounter    | OT_INTEGER      | 3               | Control         |
->|                 |                 |                 | activation of   |
->|                 |                 |                 | Filter          |
->|                 |                 |                 | acceleration    |
->|                 |                 |                 | heuristics      |
->+-----------------+-----------------+-----------------+-----------------+
->| MaxNorm         | OT_BOOLEAN      | True            | Select max-norm |
->|                 |                 |                 | instead of      |
->|                 |                 |                 | 1-norm in       |
->|                 |                 |                 | Filter          |
->+-----------------+-----------------+-----------------+-----------------+
->| MeritFunction   | OT_INTEGER      | 4               | Select merit    |
->|                 |                 |                 | function and    |
->|                 |                 |                 | penalty update  |
->|                 |                 |                 | [0, 3..5]       |
->+-----------------+-----------------+-----------------+-----------------+
->| MeritGradTol    | OT_REAL         | 0.000           | Threshold of    |
->|                 |                 |                 | meritfunction   |
->|                 |                 |                 | gradient for    |
->|                 |                 |                 | increasing      |
->|                 |                 |                 | Hessian         |
->|                 |                 |                 | regularisation  |
->+-----------------+-----------------+-----------------+-----------------+
->| MinBettsTau     | OT_REAL         | 0.000           | Lower bound for |
->|                 |                 |                 | Betts' update   |
->|                 |                 |                 | dampening term  |
->+-----------------+-----------------+-----------------+-----------------+
->| MoreRelax       | OT_BOOLEAN      | False           | Introduce one   |
->|                 |                 |                 | relaxation      |
->|                 |                 |                 | variable for    |
->|                 |                 |                 | every           |
->|                 |                 |                 | constraint      |
->+-----------------+-----------------+-----------------+-----------------+
->| NLPmethod       | OT_INTEGER      | 1               | Select (1)      |
->|                 |                 |                 | Meritfunction   |
->|                 |                 |                 | or (3) Filter   |
->|                 |                 |                 | globalisation   |
->+-----------------+-----------------+-----------------+-----------------+
->| NLPprint        | OT_INTEGER      | 2               | NLP print level |
->|                 |                 |                 | [-1..4]         |
->+-----------------+-----------------+-----------------+-----------------+
->| PairMethod      | OT_INTEGER      | 1               | Select method   |
->|                 |                 |                 | to determine    |
->|                 |                 |                 | graph colouring |
->|                 |                 |                 | pairgroups      |
->+-----------------+-----------------+-----------------+-----------------+
->| PenUpdEpsBar    | OT_REAL         | 0.900           | Penalty update  |
->|                 |                 |                 | parameter       |
->|                 |                 |                 | factor for      |
->|                 |                 |                 | MeritFunction = |
->|                 |                 |                 | 3               |
->+-----------------+-----------------+-----------------+-----------------+
->| PenUpdEpsKFac   | OT_REAL         | 2               | Penalty update  |
->|                 |                 |                 | parameter       |
->|                 |                 |                 | factor for      |
->|                 |                 |                 | MeritFunction = |
->|                 |                 |                 | 4               |
->+-----------------+-----------------+-----------------+-----------------+
->| PenUpdEpsKSeque | OT_INTEGER      | 2               | Penalty update  |
->| nce             |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| PenUpdMaxDeltaK | OT_REAL         | 11              | Max penalty for |
->|                 |                 |                 | MeritFunction = |
->|                 |                 |                 | 4               |
->+-----------------+-----------------+-----------------+-----------------+
->| PenUpdMaxFac    | OT_REAL         | 100000000       | Max factor for  |
->|                 |                 |                 | increasing      |
->|                 |                 |                 | penalty for     |
->|                 |                 |                 | MeritFunction = |
->|                 |                 |                 | 4               |
->+-----------------+-----------------+-----------------+-----------------+
->| PenUpdRBar      | OT_REAL         | 2               | Penalty update  |
->|                 |                 |                 | parameter for   |
->|                 |                 |                 | MeritFunction = |
->|                 |                 |                 | 3               |
->+-----------------+-----------------+-----------------+-----------------+
->| PrecisionF      | OT_REAL         | 0.000           | (currently      |
->|                 |                 |                 | unused)         |
->|                 |                 |                 | Relative        |
->|                 |                 |                 | precision of    |
->|                 |                 |                 | objective       |
->+-----------------+-----------------+-----------------+-----------------+
->| PrecisionG      | OT_REAL         | 0.000           | (currently      |
->|                 |                 |                 | unused)         |
->|                 |                 |                 | Relative        |
->|                 |                 |                 | precision of    |
->|                 |                 |                 | constraints     |
->+-----------------+-----------------+-----------------+-----------------+
->| QPscaleParam    | OT_REAL         | 0               | (currently      |
->|                 |                 |                 | unused) Scaling |
->|                 |                 |                 | factor for QP   |
->+-----------------+-----------------+-----------------+-----------------+
->| QuadraticProble | OT_BOOLEAN      | False           | Not to be       |
->| m               |                 |                 | included into a |
->|                 |                 |                 | parameter file! |
->+-----------------+-----------------+-----------------+-----------------+
->| ReduceBettsTau  | OT_REAL         | 0.300           | Decrease factor |
->|                 |                 |                 | for Betts'      |
->|                 |                 |                 | update          |
->|                 |                 |                 | dampening term  |
->+-----------------+-----------------+-----------------+-----------------+
->| RegStrategy     | OT_INTEGER      | 1               | Select Hessian  |
->|                 |                 |                 | regularisation  |
->|                 |                 |                 | strategy in     |
->|                 |                 |                 | Filter          |
->+-----------------+-----------------+-----------------+-----------------+
->| ReinitFilter    | OT_BOOLEAN      | False           | Enables Filter- |
->|                 |                 |                 | reinitialisatio |
->|                 |                 |                 | n accelerating  |
->|                 |                 |                 | heuristic       |
->+-----------------+-----------------+-----------------+-----------------+
->| RelaxMaxDelta   | OT_REAL         | 0.920           | Upper bound for |
->|                 |                 |                 | accepting the   |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | relaxation      |
->|                 |                 |                 | variable        |
->+-----------------+-----------------+-----------------+-----------------+
->| RelaxMaxPen     | OT_REAL         | 50000000        | Upper bound on  |
->|                 |                 |                 | the constraint  |
->|                 |                 |                 | relaxation      |
->|                 |                 |                 | penalty         |
->+-----------------+-----------------+-----------------+-----------------+
->| RelaxRho        | OT_REAL         | 6               | Update factor   |
->|                 |                 |                 | for the         |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | relaxation      |
->|                 |                 |                 | penalty         |
->+-----------------+-----------------+-----------------+-----------------+
->| RelaxStart      | OT_REAL         | 1               | Initial value   |
->|                 |                 |                 | of the          |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | relaxation      |
->|                 |                 |                 | penalty         |
->+-----------------+-----------------+-----------------+-----------------+
->| RestUntilFeas   | OT_BOOLEAN      | False           | Do restoration  |
->|                 |                 |                 | until a         |
->|                 |                 |                 | feasible        |
->|                 |                 |                 | solution is     |
->|                 |                 |                 | found           |
->+-----------------+-----------------+-----------------+-----------------+
->| ScaleConIter    | OT_BOOLEAN      | False           | Scale           |
->|                 |                 |                 | constraints in  |
->|                 |                 |                 | every iteration |
->+-----------------+-----------------+-----------------+-----------------+
->| ScaleFacObj     | OT_REAL         | 10              | Value to scale  |
->|                 |                 |                 | large objective |
->|                 |                 |                 | functions to    |
->+-----------------+-----------------+-----------------+-----------------+
->| ScaleFacQP      | OT_REAL         | 10              | Upper bound on  |
->|                 |                 |                 | resulting       |
->|                 |                 |                 | matrix norm for |
->|                 |                 |                 | QP scaling      |
->+-----------------+-----------------+-----------------+-----------------+
->| ScaledFD        | OT_BOOLEAN      | True            | Use a scaled    |
->|                 |                 |                 | perturbation    |
->|                 |                 |                 | for finite      |
->|                 |                 |                 | differences     |
->+-----------------+-----------------+-----------------+-----------------+
->| ScaledKKT       | OT_BOOLEAN      | True            | Scale KKT       |
->|                 |                 |                 | conditions      |
->+-----------------+-----------------+-----------------+-----------------+
->| ScaledObj       | OT_BOOLEAN      | True            | Scale the       |
->|                 |                 |                 | objective       |
->|                 |                 |                 | function        |
->+-----------------+-----------------+-----------------+-----------------+
->| ScaledQP        | OT_BOOLEAN      | True            | Scale some      |
->|                 |                 |                 | matrices handed |
->|                 |                 |                 | to the QP       |
->+-----------------+-----------------+-----------------+-----------------+
->| StartBettsTau   | OT_REAL         | 0.100           | Initial value   |
->|                 |                 |                 | for Betts'      |
->|                 |                 |                 | update          |
->|                 |                 |                 | dampening term  |
->+-----------------+-----------------+-----------------+-----------------+
->| SwitchingDelta  | OT_REAL         | 0.010           | Filter          |
->|                 |                 |                 | switching       |
->|                 |                 |                 | condition       |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| SwitchingSCV    | OT_REAL         | 1.100           | Filter          |
->|                 |                 |                 | switching       |
->|                 |                 |                 | condition       |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| SwitchingSF     | OT_REAL         | 2.300           | Filter          |
->|                 |                 |                 | switching       |
->|                 |                 |                 | condition       |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| TakeQPSol       | OT_BOOLEAN      | False           | Evaluate QP     |
->|                 |                 |                 | search          |
->|                 |                 |                 | direction       |
->|                 |                 |                 | regardless of   |
->|                 |                 |                 | convergence     |
->+-----------------+-----------------+-----------------+-----------------+
->| Timeout         | OT_REAL         | 300             | Timeout in      |
->|                 |                 |                 | seconds         |
->+-----------------+-----------------+-----------------+-----------------+
->| TolComp         | OT_REAL         | 0.001           | Complementarity |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| TolFeas         | OT_REAL         | 0.000           | Feasibility     |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| TolOpti         | OT_REAL         | 0.000           | Optimality      |
->|                 |                 |                 | tolerance       |
->+-----------------+-----------------+-----------------+-----------------+
->| TolWeakActive   | OT_REAL         | 1               | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| TooBig          | OT_BOOLEAN      | True            | Enable too-big  |
->|                 |                 |                 | termination     |
->|                 |                 |                 | heuristics      |
->+-----------------+-----------------+-----------------+-----------------+
->| TooBigCV        | OT_REAL         | 1.000e+25       | Upper bound on  |
->|                 |                 |                 | constraint      |
->|                 |                 |                 | violation for   |
->|                 |                 |                 | too-big         |
->|                 |                 |                 | heuristic       |
->+-----------------+-----------------+-----------------+-----------------+
->| TooBigKKT       | OT_REAL         | 1.000e+30       | Upper bound on  |
->|                 |                 |                 | KKT values for  |
->|                 |                 |                 | too-big         |
->|                 |                 |                 | heuristic       |
->+-----------------+-----------------+-----------------+-----------------+
->| UserDF          | OT_BOOLEAN      | True            | Objective       |
->|                 |                 |                 | gradient values |
->|                 |                 |                 | supplied by     |
->|                 |                 |                 | caller          |
->+-----------------+-----------------+-----------------+-----------------+
->| UserDG          | OT_BOOLEAN      | True            | Jacobian values |
->|                 |                 |                 | supplied by     |
->|                 |                 |                 | caller          |
->+-----------------+-----------------+-----------------+-----------------+
->| UserHM          | OT_BOOLEAN      | True            | Hessian values  |
->|                 |                 |                 | supplied by     |
->|                 |                 |                 | caller          |
->+-----------------+-----------------+-----------------+-----------------+
->| UserHMstructure | OT_INTEGER      | 2               | Enable          |
->|                 |                 |                 | automatic       |
->|                 |                 |                 | Hessian         |
->|                 |                 |                 | structure       |
->|                 |                 |                 | generation or   |
->|                 |                 |                 | checking        |
->+-----------------+-----------------+-----------------+-----------------+
->| WeakActiveSet   | OT_BOOLEAN      | False           | (experimental)  |
->+-----------------+-----------------+-----------------+-----------------+
->| eps             | OT_REAL         | 0.000           | Machine epsilon |
->+-----------------+-----------------+-----------------+-----------------+
->| internalParChan | OT_INTEGER      | 0               | Counter for     |
->| ged             |                 |                 | changed         |
->|                 |                 |                 | parameters.     |
->|                 |                 |                 | Internal use    |
->|                 |                 |                 | only.           |
->+-----------------+-----------------+-----------------+-----------------+
->| print_time      | OT_BOOLEAN      | True            | Print           |
->|                 |                 |                 | information     |
->|                 |                 |                 | about execution |
->|                 |                 |                 | time            |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipBarrier    | OT_REAL         | 7.800           | IP barrier      |
->|                 |                 |                 | parameter.      |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipComTol     | OT_REAL         | 0.000           | IP              |
->|                 |                 |                 | complementarity |
->|                 |                 |                 | tolerance.      |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipFracBound  | OT_REAL         | 0.880           | IP fraction-to- |
->|                 |                 |                 | the-boundary    |
->|                 |                 |                 | parameter.      |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipLsMethod   | OT_STRING       | None            | Select the      |
->|                 |                 |                 | direct linear   |
->|                 |                 |                 | solver used by  |
->|                 |                 |                 | the IP method.  |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipMinAlpha   | OT_REAL         | 0.000           | IP line search  |
->|                 |                 |                 | minimum step    |
->|                 |                 |                 | size.           |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipRelaxDiv   | OT_REAL         | 2               | The relaxation  |
->|                 |                 |                 | term is divided |
->|                 |                 |                 | by this value   |
->|                 |                 |                 | if successful.  |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipRelaxMax   | OT_REAL         | 0.000           | Maximum         |
->|                 |                 |                 | relaxation      |
->|                 |                 |                 | value.          |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipRelaxMin   | OT_REAL         | 0.000           | Mimimum         |
->|                 |                 |                 | relaxation      |
->|                 |                 |                 | value.          |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipRelaxMult  | OT_REAL         | 10              | The relaxation  |
->|                 |                 |                 | term is         |
->|                 |                 |                 | multiplied by   |
->|                 |                 |                 | this value if   |
->|                 |                 |                 | unsuccessful.   |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipResTol     | OT_REAL         | 0.000           | IP residuals    |
->|                 |                 |                 | tolerance.      |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_ipTryRelax   | OT_BOOLEAN      | True            | Enable          |
->|                 |                 |                 | relaxation      |
->|                 |                 |                 | strategy when   |
->|                 |                 |                 | encountering an |
->|                 |                 |                 | error.          |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_lsItMaxIter  | OT_INTEGER      | 1000            | Maximum number  |
->|                 |                 |                 | of iterations   |
->|                 |                 |                 | of the          |
->|                 |                 |                 | iterative       |
->|                 |                 |                 | linear solvers. |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_lsItMethod   | OT_STRING       | None            | Select the      |
->|                 |                 |                 | iterative       |
->|                 |                 |                 | linear solver.  |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_lsItPrecondM | OT_STRING       | None            | Select          |
->| ethod           |                 |                 | preconditioner  |
->|                 |                 |                 | for the         |
->|                 |                 |                 | iterative       |
->|                 |                 |                 | linear solver.  |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_lsRefineMaxI | OT_INTEGER      | 10              | Maximum number  |
->| ter             |                 |                 | of iterative    |
->|                 |                 |                 | refinement      |
->|                 |                 |                 | steps of the    |
->|                 |                 |                 | direct linear   |
->|                 |                 |                 | solvers.        |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_lsScale      | OT_BOOLEAN      | True            | Enables scaling |
->|                 |                 |                 | on linear       |
->|                 |                 |                 | solver level.   |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_lsTol        | OT_REAL         | 0.000           | Tolerance for   |
->|                 |                 |                 | the linear      |
->|                 |                 |                 | solver.         |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_lsTrySimple  | OT_BOOLEAN      | False           | Some matrices   |
->|                 |                 |                 | can be solved   |
->|                 |                 |                 | without calling |
->|                 |                 |                 | a linear        |
->|                 |                 |                 | equation solver |
->|                 |                 |                 | .Currently only |
->|                 |                 |                 | diagonal        |
->|                 |                 |                 | matrices are    |
->|                 |                 |                 | supported.Non-  |
->|                 |                 |                 | diagonal        |
->|                 |                 |                 | matrices will   |
->|                 |                 |                 | besolved with   |
->|                 |                 |                 | the chosen      |
->|                 |                 |                 | linear equation |
->|                 |                 |                 | solver.         |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_maxIter      | OT_INTEGER      | 80              | Imposes an      |
->|                 |                 |                 | upper limit on  |
->|                 |                 |                 | the number of   |
->|                 |                 |                 | minor solver    |
->|                 |                 |                 | iterations,     |
->|                 |                 |                 | i.e. for the    |
->|                 |                 |                 | quadratic       |
->|                 |                 |                 | subproblem      |
->|                 |                 |                 | solver.If the   |
->|                 |                 |                 | limit is        |
->|                 |                 |                 | reached before  |
->|                 |                 |                 | convergence,    |
->|                 |                 |                 | WORHP will      |
->|                 |                 |                 | activate QP     |
->|                 |                 |                 | recovery        |
->|                 |                 |                 | strategies to   |
->|                 |                 |                 | prevent a       |
->|                 |                 |                 | solver          |
->|                 |                 |                 | breakdown.      |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_method       | OT_STRING       | None            | Select the      |
->|                 |                 |                 | solution method |
->|                 |                 |                 | used by the QP  |
->|                 |                 |                 | solver.         |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_nsnBeta      | OT_REAL         | 0.900           | NSN stepsize    |
->|                 |                 |                 | decrease        |
->|                 |                 |                 | factor.         |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_nsnGradStep  | OT_BOOLEAN      | True            | Enable gradient |
->|                 |                 |                 | steps in the    |
->|                 |                 |                 | NSN method.     |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_nsnKKT       | OT_REAL         | 0.000           | NSN KKT         |
->|                 |                 |                 | tolerance.      |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_nsnLsMethod  | OT_STRING       | None            | Select the      |
->|                 |                 |                 | direct linear   |
->|                 |                 |                 | solver used by  |
->|                 |                 |                 | the NSN method. |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_nsnMinAlpha  | OT_REAL         | 0.000           | NSN line search |
->|                 |                 |                 | minimum step    |
->|                 |                 |                 | size.           |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_nsnSigma     | OT_REAL         | 0.010           | NSN line search |
->|                 |                 |                 | slope           |
->|                 |                 |                 | parameter.      |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_printLevel   | OT_STRING       | None            | Controls the    |
->|                 |                 |                 | amount of QP    |
->|                 |                 |                 | solver output.  |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_scaleIntern  | OT_BOOLEAN      | False           | Enable scaling  |
->|                 |                 |                 | on QP level.    |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_strict       | OT_BOOLEAN      | True            | Use strict      |
->|                 |                 |                 | termination     |
->|                 |                 |                 | criteria in IP  |
->|                 |                 |                 | method.         |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+-------------+
->|     Id      |
->+=============+
->| eval_f      |
->+-------------+
->| eval_g      |
->+-------------+
->| eval_grad_f |
->+-------------+
->| eval_h      |
->+-------------+
->| eval_jac_g  |
->+-------------+
->
->>List of available stats
->
->+--------------------+
->|         Id         |
->+====================+
->| iter_count         |
->+--------------------+
->| iteration          |
->+--------------------+
->| iterations         |
->+--------------------+
->| n_eval_f           |
->+--------------------+
->| n_eval_g           |
->+--------------------+
->| n_eval_grad_f      |
->+--------------------+
->| n_eval_h           |
->+--------------------+
->| n_eval_jac_g       |
->+--------------------+
->| return_code        |
->+--------------------+
->| return_status      |
->+--------------------+
->| t_callback_fun     |
->+--------------------+
->| t_callback_prepare |
->+--------------------+
->| t_eval_f           |
->+--------------------+
->| t_eval_g           |
->+--------------------+
->| t_eval_grad_f      |
->+--------------------+
->| t_eval_h           |
->+--------------------+
->| t_eval_jac_g       |
->+--------------------+
->| t_mainloop         |
->+--------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->scpgen
->------
->
->
->
->A structure-exploiting sequential quadratic programming (to be come
->sequential convex programming) method for nonlinear programming.
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| beta            | OT_REAL         | 0.800           | Line-search     |
->|                 |                 |                 | parameter,      |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | factor of       |
->|                 |                 |                 | stepsize        |
->+-----------------+-----------------+-----------------+-----------------+
->| c1              | OT_REAL         | 0.000           | Armijo          |
->|                 |                 |                 | condition,      |
->|                 |                 |                 | coefficient of  |
->|                 |                 |                 | decrease in     |
->|                 |                 |                 | merit           |
->+-----------------+-----------------+-----------------+-----------------+
->| codegen         | OT_BOOLEAN      | false           | C-code          |
->|                 |                 |                 | generation      |
->+-----------------+-----------------+-----------------+-----------------+
->| compiler        | OT_STRING       | "gcc -fPIC -O2" | Compiler        |
->|                 |                 |                 | command to be   |
->|                 |                 |                 | used for        |
->|                 |                 |                 | compiling       |
->|                 |                 |                 | generated code  |
->+-----------------+-----------------+-----------------+-----------------+
->| hessian_approxi | OT_STRING       | "exact"         | gauss-          |
->| mation          |                 |                 | newton|exact    |
->+-----------------+-----------------+-----------------+-----------------+
->| lbfgs_memory    | OT_INTEGER      | 10              | Size of L-BFGS  |
->|                 |                 |                 | memory.         |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter        | OT_INTEGER      | 50              | Maximum number  |
->|                 |                 |                 | of SQP          |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter_ls     | OT_INTEGER      | 1               | Maximum number  |
->|                 |                 |                 | of linesearch   |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| merit_memsize   | OT_INTEGER      | 4               | Size of memory  |
->|                 |                 |                 | to store        |
->|                 |                 |                 | history of      |
->|                 |                 |                 | merit function  |
->|                 |                 |                 | values          |
->+-----------------+-----------------+-----------------+-----------------+
->| merit_start     | OT_REAL         | 0.000           | Lower bound for |
->|                 |                 |                 | the merit       |
->|                 |                 |                 | function        |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| name_x          | OT_STRINGVECTOR | GenericType()   | Names of the    |
->|                 |                 |                 | variables.      |
->+-----------------+-----------------+-----------------+-----------------+
->| print_header    | OT_BOOLEAN      | true            | Print the       |
->|                 |                 |                 | header with     |
->|                 |                 |                 | problem         |
->|                 |                 |                 | statistics      |
->+-----------------+-----------------+-----------------+-----------------+
->| print_time      | OT_BOOLEAN      | true            | Print           |
->|                 |                 |                 | information     |
->|                 |                 |                 | about execution |
->|                 |                 |                 | time            |
->+-----------------+-----------------+-----------------+-----------------+
->| print_x         | OT_INTEGERVECTO | GenericType()   | Which variables |
->|                 | R               |                 | to print.       |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_solver       | OT_STRING       | GenericType()   | The QP solver   |
->|                 |                 |                 | to be used by   |
->|                 |                 |                 | the SQP method  |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_solver_optio | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ns              |                 |                 | passed to the   |
->|                 |                 |                 | QP solver       |
->+-----------------+-----------------+-----------------+-----------------+
->| reg_threshold   | OT_REAL         | 0.000           | Threshold for   |
->|                 |                 |                 | the             |
->|                 |                 |                 | regularization. |
->+-----------------+-----------------+-----------------+-----------------+
->| regularize      | OT_BOOLEAN      | false           | Automatic       |
->|                 |                 |                 | regularization  |
->|                 |                 |                 | of Lagrange     |
->|                 |                 |                 | Hessian.        |
->+-----------------+-----------------+-----------------+-----------------+
->| tol_du          | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion for   |
->|                 |                 |                 | dual            |
->|                 |                 |                 | infeasability   |
->+-----------------+-----------------+-----------------+-----------------+
->| tol_pr          | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion for   |
->|                 |                 |                 | primal          |
->|                 |                 |                 | infeasibility   |
->+-----------------+-----------------+-----------------+-----------------+
->| tol_pr_step     | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion for   |
->|                 |                 |                 | the step size   |
->+-----------------+-----------------+-----------------+-----------------+
->| tol_reg         | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion for   |
->|                 |                 |                 | regularization  |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+-------------+
->|     Id      |
->+=============+
->| dx          |
->+-------------+
->| eval_f      |
->+-------------+
->| eval_g      |
->+-------------+
->| eval_grad_f |
->+-------------+
->| eval_h      |
->+-------------+
->| eval_jac_g  |
->+-------------+
->| qp          |
->+-------------+
->
->>List of available stats
->
->+------------+
->|     Id     |
->+============+
->| iter_count |
->+------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->sqpmethod
->---------
->
->
->
->A textbook SQPMethod
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| beta            | OT_REAL         | 0.800           | Line-search     |
->|                 |                 |                 | parameter,      |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | factor of       |
->|                 |                 |                 | stepsize        |
->+-----------------+-----------------+-----------------+-----------------+
->| c1              | OT_REAL         | 0.000           | Armijo          |
->|                 |                 |                 | condition,      |
->|                 |                 |                 | coefficient of  |
->|                 |                 |                 | decrease in     |
->|                 |                 |                 | merit           |
->+-----------------+-----------------+-----------------+-----------------+
->| hessian_approxi | OT_STRING       | "exact"         | limited-        |
->| mation          |                 |                 | memory|exact    |
->+-----------------+-----------------+-----------------+-----------------+
->| lbfgs_memory    | OT_INTEGER      | 10              | Size of L-BFGS  |
->|                 |                 |                 | memory.         |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter        | OT_INTEGER      | 50              | Maximum number  |
->|                 |                 |                 | of SQP          |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter_ls     | OT_INTEGER      | 3               | Maximum number  |
->|                 |                 |                 | of linesearch   |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| merit_memory    | OT_INTEGER      | 4               | Size of memory  |
->|                 |                 |                 | to store        |
->|                 |                 |                 | history of      |
->|                 |                 |                 | merit function  |
->|                 |                 |                 | values          |
->+-----------------+-----------------+-----------------+-----------------+
->| min_step_size   | OT_REAL         | 0.000           | The size (inf-  |
->|                 |                 |                 | norm) of the    |
->|                 |                 |                 | step size       |
->|                 |                 |                 | should not      |
->|                 |                 |                 | become smaller  |
->|                 |                 |                 | than this.      |
->+-----------------+-----------------+-----------------+-----------------+
->| print_header    | OT_BOOLEAN      | true            | Print the       |
->|                 |                 |                 | header with     |
->|                 |                 |                 | problem         |
->|                 |                 |                 | statistics      |
->+-----------------+-----------------+-----------------+-----------------+
->| print_time      | OT_BOOLEAN      | true            | Print           |
->|                 |                 |                 | information     |
->|                 |                 |                 | about execution |
->|                 |                 |                 | time            |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_solver       | OT_STRING       | GenericType()   | The QP solver   |
->|                 |                 |                 | to be used by   |
->|                 |                 |                 | the SQP method  |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_solver_optio | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ns              |                 |                 | passed to the   |
->|                 |                 |                 | QP solver       |
->+-----------------+-----------------+-----------------+-----------------+
->| regularize      | OT_BOOLEAN      | false           | Automatic       |
->|                 |                 |                 | regularization  |
->|                 |                 |                 | of Lagrange     |
->|                 |                 |                 | Hessian.        |
->+-----------------+-----------------+-----------------+-----------------+
->| tol_du          | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion for   |
->|                 |                 |                 | dual            |
->|                 |                 |                 | infeasability   |
->+-----------------+-----------------+-----------------+-----------------+
->| tol_pr          | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion for   |
->|                 |                 |                 | primal          |
->|                 |                 |                 | infeasibility   |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+-------------+
->|     Id      |
->+=============+
->| bfgs        |
->+-------------+
->| dx          |
->+-------------+
->| eval_f      |
->+-------------+
->| eval_g      |
->+-------------+
->| eval_grad_f |
->+-------------+
->| eval_h      |
->+-------------+
->| eval_jac_g  |
->+-------------+
->| qp          |
->+-------------+
->
->>List of available stats
->
->+--------------------+
->|         Id         |
->+====================+
->| iter_count         |
->+--------------------+
->| iteration          |
->+--------------------+
->| iterations         |
->+--------------------+
->| n_eval_f           |
->+--------------------+
->| n_eval_g           |
->+--------------------+
->| n_eval_grad_f      |
->+--------------------+
->| n_eval_h           |
->+--------------------+
->| n_eval_jac_g       |
->+--------------------+
->| return_status      |
->+--------------------+
->| t_callback_fun     |
->+--------------------+
->| t_callback_prepare |
->+--------------------+
->| t_eval_f           |
->+--------------------+
->| t_eval_g           |
->+--------------------+
->| t_eval_grad_f      |
->+--------------------+
->| t_eval_h           |
->+--------------------+
->| t_eval_jac_g       |
->+--------------------+
->| t_mainloop         |
->+--------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->stabilizedsqp
->-------------
->
->
->
->Stabilized Sequential Quadratic Programming method.
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| TReta1          | OT_REAL         | 0.800           | Required        |
->|                 |                 |                 | predicted /     |
->|                 |                 |                 | actual decrease |
->|                 |                 |                 | for TR increase |
->+-----------------+-----------------+-----------------+-----------------+
->| TReta2          | OT_REAL         | 0.200           | Required        |
->|                 |                 |                 | predicted /     |
->|                 |                 |                 | actual decrease |
->|                 |                 |                 | for TR decrease |
->+-----------------+-----------------+-----------------+-----------------+
->| alphaMin        | OT_REAL         | 0.001           | Used to check   |
->|                 |                 |                 | whether to      |
->|                 |                 |                 | increase rho.   |
->+-----------------+-----------------+-----------------+-----------------+
->| beta            | OT_REAL         | 0.500           | Line-search     |
->|                 |                 |                 | parameter,      |
->|                 |                 |                 | restoration     |
->|                 |                 |                 | factor of       |
->|                 |                 |                 | stepsize        |
->+-----------------+-----------------+-----------------+-----------------+
->| c1              | OT_REAL         | 0.001           | Armijo          |
->|                 |                 |                 | condition,      |
->|                 |                 |                 | coefficient of  |
->|                 |                 |                 | decrease in     |
->|                 |                 |                 | merit           |
->+-----------------+-----------------+-----------------+-----------------+
->| dvMax0          | OT_REAL         | 100             | Parameter used  |
->|                 |                 |                 | to defined the  |
->|                 |                 |                 | max step        |
->|                 |                 |                 | length.         |
->+-----------------+-----------------+-----------------+-----------------+
->| eps_active      | OT_REAL         | 0.000           | Threshold for   |
->|                 |                 |                 | the epsilon-    |
->|                 |                 |                 | active set.     |
->+-----------------+-----------------+-----------------+-----------------+
->| gamma1          | OT_REAL         | 2               | Trust region    |
->|                 |                 |                 | increase        |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| gamma2          | OT_REAL         | 1               | Trust region    |
->|                 |                 |                 | update          |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| gamma3          | OT_REAL         | 1               | Trust region    |
->|                 |                 |                 | decrease        |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| hessian_approxi | OT_STRING       | "exact"         | limited-        |
->| mation          |                 |                 | memory|exact    |
->+-----------------+-----------------+-----------------+-----------------+
->| lbfgs_memory    | OT_INTEGER      | 10              | Size of L-BFGS  |
->|                 |                 |                 | memory.         |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter        | OT_INTEGER      | 100             | Maximum number  |
->|                 |                 |                 | of SQP          |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| max_iter_ls     | OT_INTEGER      | 20              | Maximum number  |
->|                 |                 |                 | of linesearch   |
->|                 |                 |                 | iterations      |
->+-----------------+-----------------+-----------------+-----------------+
->| max_time        | OT_REAL         | 1.000e+12       | Timeout         |
->+-----------------+-----------------+-----------------+-----------------+
->| merit_memory    | OT_INTEGER      | 4               | Size of memory  |
->|                 |                 |                 | to store        |
->|                 |                 |                 | history of      |
->|                 |                 |                 | merit function  |
->|                 |                 |                 | values          |
->+-----------------+-----------------+-----------------+-----------------+
->| min_step_size   | OT_REAL         | 0.000           | The size (inf-  |
->|                 |                 |                 | norm) of the    |
->|                 |                 |                 | step size       |
->|                 |                 |                 | should not      |
->|                 |                 |                 | become smaller  |
->|                 |                 |                 | than this.      |
->+-----------------+-----------------+-----------------+-----------------+
->| muR0            | OT_REAL         | 0.000           | Initial choice  |
->|                 |                 |                 | of              |
->|                 |                 |                 | regularization  |
->|                 |                 |                 | parameter       |
->+-----------------+-----------------+-----------------+-----------------+
->| nu              | OT_REAL         | 1               | Parameter for   |
->|                 |                 |                 | primal-dual     |
->|                 |                 |                 | augmented       |
->|                 |                 |                 | Lagrangian.     |
->+-----------------+-----------------+-----------------+-----------------+
->| phiWeight       | OT_REAL         | 0.000           | Weight used in  |
->|                 |                 |                 | pseudo-filter.  |
->+-----------------+-----------------+-----------------+-----------------+
->| print_header    | OT_BOOLEAN      | true            | Print the       |
->|                 |                 |                 | header with     |
->|                 |                 |                 | problem         |
->|                 |                 |                 | statistics      |
->+-----------------+-----------------+-----------------+-----------------+
->| regularize      | OT_BOOLEAN      | false           | Automatic       |
->|                 |                 |                 | regularization  |
->|                 |                 |                 | of Lagrange     |
->|                 |                 |                 | Hessian.        |
->+-----------------+-----------------+-----------------+-----------------+
->| stabilized_qp_s | OT_STRING       | GenericType()   | The Stabilized  |
->| olver           |                 |                 | QP solver to be |
->|                 |                 |                 | used by the SQP |
->|                 |                 |                 | method          |
->+-----------------+-----------------+-----------------+-----------------+
->| stabilized_qp_s | OT_DICTIONARY   | GenericType()   | Options to be   |
->| olver_options   |                 |                 | passed to the   |
->|                 |                 |                 | Stabilized QP   |
->|                 |                 |                 | solver          |
->+-----------------+-----------------+-----------------+-----------------+
->| tau0            | OT_REAL         | 0.010           | Initial         |
->|                 |                 |                 | parameter for   |
->|                 |                 |                 | the merit       |
->|                 |                 |                 | function        |
->|                 |                 |                 | optimality      |
->|                 |                 |                 | threshold.      |
->+-----------------+-----------------+-----------------+-----------------+
->| tol_du          | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion for   |
->|                 |                 |                 | dual            |
->|                 |                 |                 | infeasability   |
->+-----------------+-----------------+-----------------+-----------------+
->| tol_pr          | OT_REAL         | 0.000           | Stopping        |
->|                 |                 |                 | criterion for   |
->|                 |                 |                 | primal          |
->|                 |                 |                 | infeasibility   |
->+-----------------+-----------------+-----------------+-----------------+
->| yEinitial       | OT_STRING       | "simple"        | Initial         |
->|                 |                 |                 | multiplier.     |
->|                 |                 |                 | Simple (all     |
->|                 |                 |                 | zero) or least  |
->|                 |                 |                 | (LSQ).          |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available monitors
->
->+-------------+
->|     Id      |
->+=============+
->| dx          |
->+-------------+
->| eval_f      |
->+-------------+
->| eval_g      |
->+-------------+
->| eval_grad_f |
->+-------------+
->| eval_h      |
->+-------------+
->| eval_jac_g  |
->+-------------+
->| qp          |
->+-------------+
->
->>List of available stats
->
->+---------------+
->|      Id       |
->+===============+
->| iter_count    |
->+---------------+
->| return_status |
->+---------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joel Andersson
->
->C++ includes: nlp_solver.hpp 
--}
-newtype NlpSolver = NlpSolver (ForeignPtr NlpSolver')
--- typeclass decl
-class NlpSolverClass a where
-  castNlpSolver :: a -> NlpSolver
-instance NlpSolverClass NlpSolver where
-  castNlpSolver = id
-
--- baseclass instances
-instance FunctionClass NlpSolver where
-  castFunction (NlpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass NlpSolver where
-  castOptionsFunctionality (NlpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass NlpSolver where
-  castSharedObject (NlpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass NlpSolver where
-  castIOInterfaceFunction (NlpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal NlpSolver (Ptr NlpSolver') where
-  marshal (NlpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (NlpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__NlpSolver" 
-  c_delete_casadi__NlpSolver :: FunPtr (Ptr NlpSolver' -> IO ())
-instance WrapReturn (Ptr NlpSolver') NlpSolver where
-  wrapReturn = (fmap NlpSolver) . (newForeignPtr c_delete_casadi__NlpSolver)
-
-
--- raw decl
-data Nullspace'
--- data decl
-{-|
->Base class for nullspace construction.
->
->Constructs a basis for the null-space of a fat matrix A. i.e. finds Z such
->that AZ = 0 holds.
->
->The nullspace is also known as the orthogonal complement of the rowspace of
->a matrix.
->
->It is assumed that the matrix A is of full rank.
->
->Implementations are not required to construct an orthogonal or orthonormal
->basis Joris Gillis
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| dense        | OT_BOOLEAN   | true         | Indicates    | casadi::Null |
->|              |              |              | that dense   | spaceInterna |
->|              |              |              | matrices can | l            |
->|              |              |              | be assumed   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->C++ includes: nullspace.hpp 
--}
-newtype Nullspace = Nullspace (ForeignPtr Nullspace')
--- typeclass decl
-class NullspaceClass a where
-  castNullspace :: a -> Nullspace
-instance NullspaceClass Nullspace where
-  castNullspace = id
-
--- baseclass instances
-instance FunctionClass Nullspace where
-  castFunction (Nullspace x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass Nullspace where
-  castOptionsFunctionality (Nullspace x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass Nullspace where
-  castSharedObject (Nullspace x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Nullspace where
-  castIOInterfaceFunction (Nullspace x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Nullspace (Ptr Nullspace') where
-  marshal (Nullspace x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Nullspace x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Nullspace" 
-  c_delete_casadi__Nullspace :: FunPtr (Ptr Nullspace' -> IO ())
-instance WrapReturn (Ptr Nullspace') Nullspace where
-  wrapReturn = (fmap Nullspace) . (newForeignPtr c_delete_casadi__Nullspace)
-
-
--- raw decl
-data OptionsFunctionality'
--- data decl
-{-|
->Provides options setting/getting functionality.
->
->Gives a derived class the ability to set and retrieve options in a
->convenient way. It also contains error checking, making sure that the option
->exists and that the value type is correct.
->
->A derived class should add option names, types and default values to the
->corresponding vectors.
->
->Joel Andersson
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->
->C++ includes: options_functionality.hpp 
--}
-newtype OptionsFunctionality = OptionsFunctionality (ForeignPtr OptionsFunctionality')
--- typeclass decl
-class OptionsFunctionalityClass a where
-  castOptionsFunctionality :: a -> OptionsFunctionality
-instance OptionsFunctionalityClass OptionsFunctionality where
-  castOptionsFunctionality = id
-
--- baseclass instances
-instance SharedObjectClass OptionsFunctionality where
-  castSharedObject (OptionsFunctionality x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal OptionsFunctionality (Ptr OptionsFunctionality') where
-  marshal (OptionsFunctionality x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (OptionsFunctionality x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__OptionsFunctionality" 
-  c_delete_casadi__OptionsFunctionality :: FunPtr (Ptr OptionsFunctionality' -> IO ())
-instance WrapReturn (Ptr OptionsFunctionality') OptionsFunctionality where
-  wrapReturn = (fmap OptionsFunctionality) . (newForeignPtr c_delete_casadi__OptionsFunctionality)
-
-
--- raw decl
-data Parallelizer'
--- data decl
-{-|
->Parallelizer execution of functions.
->
->Joel Andersson
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| parallelizat | OT_STRING    | "serial"     | (serial|open | casadi::Para |
->| ion          |              |              | mp|mpi)      | llelizerInte |
->|              |              |              |              | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->
->+-----------------+------------------------------+
->|       Id        |           Used in            |
->+=================+==============================+
->| max_threads     | casadi::ParallelizerInternal |
->+-----------------+------------------------------+
->| num_threads     | casadi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_allocation | casadi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_cputime    | casadi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_endtime    | casadi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_order      | casadi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_starttime  | casadi::ParallelizerInternal |
->+-----------------+------------------------------+
->
->C++ includes: parallelizer.hpp 
--}
-newtype Parallelizer = Parallelizer (ForeignPtr Parallelizer')
--- typeclass decl
-class ParallelizerClass a where
-  castParallelizer :: a -> Parallelizer
-instance ParallelizerClass Parallelizer where
-  castParallelizer = id
-
--- baseclass instances
-instance FunctionClass Parallelizer where
-  castFunction (Parallelizer x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass Parallelizer where
-  castOptionsFunctionality (Parallelizer x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass Parallelizer where
-  castSharedObject (Parallelizer x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Parallelizer where
-  castIOInterfaceFunction (Parallelizer x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Parallelizer (Ptr Parallelizer') where
-  marshal (Parallelizer x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Parallelizer x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Parallelizer" 
-  c_delete_casadi__Parallelizer :: FunPtr (Ptr Parallelizer' -> IO ())
-instance WrapReturn (Ptr Parallelizer') Parallelizer where
-  wrapReturn = (fmap Parallelizer) . (newForeignPtr c_delete_casadi__Parallelizer)
-
-
--- raw decl
-data QcqpSolver'
--- data decl
-{-|
->QcqpSolver.
->
->Solves the following strictly convex problem:
->
->
->
->::
->
->  min          1/2 x' H x + g' x
->  x
->  
->  subject to
->  1/2 x' Pi x  +  qi' x + ri  <= 0   for i=0..nq-1
->  LBA <= A x <= UBA
->  LBX <= x   <= UBX
->  
->  with :
->  H, Pi sparse (n x n) positive definite
->  g, qi dense  (n x 1)
->  ri scalar
->  
->  n: number of decision variables (x)
->  nc: number of linear constraints (A)
->  nq: number of quadratic constraints
->
->
->
->If H, Pi is not positive-definite, the solver should throw an error.
->
->General information
->===================
->
->
->
->>Input scheme: casadi::QcqpSolverInput (QCQP_SOLVER_NUM_IN = 12) [qcqpIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QCQP_SOLVER_H          | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical.     |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_G          | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_P          | p                      | The horizontal stack   |
->|                        |                        | of all Pi. Each Pi is  |
->|                        |                        | sparse (n x n). Only   |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical.     |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_Q          | q                      | The vertical stack of  |
->|                        |                        | all qi: dense, (nq n x |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_R          | r                      | The vertical stack of  |
->|                        |                        | all scalars ri (nq x   |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_A          | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LBA        | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_UBA        | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LBX        | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_UBX        | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_X0         | x0                     | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_X0     | lam_x0                 | dense                  |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::QcqpSolverOutput (QCQP_SOLVER_NUM_OUT = 4) [qcqpOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QCQP_SOLVER_X          | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_COST       | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_QcqpSolver_socp'>socp</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->QcqpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->socp
->----
->
->
->
->Solve a QCQP with an SocpSolver
->
->Note: this implementation relies on Cholesky decomposition: Chol(H) = L -> H
->= LL' with L lower triangular This requires Pi, H to be positive definite.
->Positive semi-definite is not sufficient. Notably, H==0 will not work.
->
->A better implementation would rely on matrix square root, but we need
->singular value decomposition to implement that.
->
->This implementation makes use of the epigraph reformulation:
->
->::
->
->  *  min f(x)
->  *    x
->  *
->  *   min  t
->  *    x, t  f(x) <= t
->  * 
->
->
->
->This implementation makes use of the following identity:
->
->::
->
->  *  || Gx+h||_2 <= e'x + f
->  *
->  *  x'(G'G - ee')x + (2 h'G - 2 f e') x + h'h - f <= 0
->  * 
->
->where we put e = [0 0 ... 1] for the quadratic constraint arising from the
->epigraph reformulation and e==0 for all other quadratic constraints.
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->>List of available stats
->
->+-------------------+
->|        Id         |
->+===================+
->| socp_solver_stats |
->+-------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: qcqp_solver.hpp 
--}
-newtype QcqpSolver = QcqpSolver (ForeignPtr QcqpSolver')
--- typeclass decl
-class QcqpSolverClass a where
-  castQcqpSolver :: a -> QcqpSolver
-instance QcqpSolverClass QcqpSolver where
-  castQcqpSolver = id
-
--- baseclass instances
-instance FunctionClass QcqpSolver where
-  castFunction (QcqpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass QcqpSolver where
-  castOptionsFunctionality (QcqpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass QcqpSolver where
-  castSharedObject (QcqpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass QcqpSolver where
-  castIOInterfaceFunction (QcqpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QcqpSolver (Ptr QcqpSolver') where
-  marshal (QcqpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QcqpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__QcqpSolver" 
-  c_delete_casadi__QcqpSolver :: FunPtr (Ptr QcqpSolver' -> IO ())
-instance WrapReturn (Ptr QcqpSolver') QcqpSolver where
-  wrapReturn = (fmap QcqpSolver) . (newForeignPtr c_delete_casadi__QcqpSolver)
-
-
--- raw decl
-data QpSolver'
--- data decl
-{-|
->QpSolver.
->
->Solves the following strictly convex problem:
->
->
->
->::
->
->  min          1/2 x' H x + g' x
->   x
->  
->  subject to
->              LBA <= A x <= UBA
->              LBX <= x   <= UBX
->  
->      with :
->        H sparse (n x n) positive definite
->        g dense  (n x 1)
->  
->      n: number of decision variables (x)
->      nc: number of constraints (A)
->
->
->
->If H is not positive-definite, the solver should throw an error.
->
->General information
->===================
->
->
->
->>Input scheme: casadi::QpSolverInput (QP_SOLVER_NUM_IN = 9) [qpIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_H            | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical.     |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_G            | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_A            | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LBA          | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_UBA          | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LBX          | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_UBX          | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_X0           | x0                     | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X0       | lam_x0                 | dense                  |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::QpSolverOutput (QP_SOLVER_NUM_OUT = 4) [qpOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_QpSolver_cplex'>cplex</a>
->
->- <a href='#plugin_QpSolver_ooqp'>ooqp</a>
->
->- <a href='#plugin_QpSolver_qpoases'>qpoases</a>
->
->- <a href='#plugin_QpSolver_sqic'>sqic</a>
->
->- <a href='#plugin_QpSolver_nlp'>nlp</a>
->
->- <a href='#plugin_QpSolver_qcqp'>qcqp</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->QpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->cplex
->-----
->
->
->
->Interface to Cplex solver for sparse Quadratic Programs
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| barrier_maxiter | OT_INTEGER      | 2.100e+09       | Maximum number  |
->|                 |                 |                 | of barrier      |
->|                 |                 |                 | iterations.     |
->+-----------------+-----------------+-----------------+-----------------+
->| convex          | OT_BOOLEAN      | true            | Indicates if    |
->|                 |                 |                 | the QP is       |
->|                 |                 |                 | convex or not   |
->|                 |                 |                 | (affects only   |
->|                 |                 |                 | the barrier     |
->|                 |                 |                 | method).        |
->+-----------------+-----------------+-----------------+-----------------+
->| dep_check       | OT_STRING       | "off"           | Detect          |
->|                 |                 |                 | redundant       |
->|                 |                 |                 | constraints. (a |
->|                 |                 |                 | utomatic:-1|off |
->|                 |                 |                 | :0|begin:1|end: |
->|                 |                 |                 | 2|both:3)       |
->+-----------------+-----------------+-----------------+-----------------+
->| dump_filename   | OT_STRING       | "qp.dat"        | The filename to |
->|                 |                 |                 | dump to.        |
->+-----------------+-----------------+-----------------+-----------------+
->| dump_to_file    | OT_BOOLEAN      | false           | Dumps QP to     |
->|                 |                 |                 | file in CPLEX   |
->|                 |                 |                 | format.         |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_method       | OT_STRING       | "automatic"     | Determines      |
->|                 |                 |                 | which CPLEX     |
->|                 |                 |                 | algorithm to    |
->|                 |                 |                 | use. (automatic |
->|                 |                 |                 | |primal_simplex |
->|                 |                 |                 | |dual_simplex|n |
->|                 |                 |                 | etwork|barrier| |
->|                 |                 |                 | sifting|concurr |
->|                 |                 |                 | ent|crossover)  |
->+-----------------+-----------------+-----------------+-----------------+
->| simplex_maxiter | OT_INTEGER      | 2.100e+09       | Maximum number  |
->|                 |                 |                 | of simplex      |
->|                 |                 |                 | iterations.     |
->+-----------------+-----------------+-----------------+-----------------+
->| tol             | OT_REAL         | 0.000           | Tolerance of    |
->|                 |                 |                 | solver          |
->+-----------------+-----------------+-----------------+-----------------+
->| warm_start      | OT_BOOLEAN      | false           | Use warm start  |
->|                 |                 |                 | with simplex    |
->|                 |                 |                 | methods         |
->|                 |                 |                 | (affects only   |
->|                 |                 |                 | the simplex     |
->|                 |                 |                 | methods).       |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->ooqp
->----
->
->
->
->Interface to the OOQP Solver for quadratic programming The current
->implementation assumes that OOQP is configured with the MA27 sparse linear
->solver.
->
->NOTE: when doing multiple calls to evaluate(), check if you need to
->reInit();
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| artol           | OT_REAL         | 0.000           | tolerance as    |
->|                 |                 |                 | provided with   |
->|                 |                 |                 | setArTol to     |
->|                 |                 |                 | OOQP            |
->+-----------------+-----------------+-----------------+-----------------+
->| mutol           | OT_REAL         | 0.000           | tolerance as    |
->|                 |                 |                 | provided with   |
->|                 |                 |                 | setMuTol to     |
->|                 |                 |                 | OOQP            |
->+-----------------+-----------------+-----------------+-----------------+
->| print_level     | OT_INTEGER      | 0               | Print level.    |
->|                 |                 |                 | OOQP listens to |
->|                 |                 |                 | print_level 0,  |
->|                 |                 |                 | 10 and 100      |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->qpoases
->-------
->
->
->
->Interface to QPOases Solver for quadratic programming
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| CPUtime         | OT_REAL         | None            | The maximum     |
->|                 |                 |                 | allowed CPU     |
->|                 |                 |                 | time in seconds |
->|                 |                 |                 | for the whole   |
->|                 |                 |                 | initialisation  |
->|                 |                 |                 | (and the        |
->|                 |                 |                 | actually        |
->|                 |                 |                 | required one on |
->|                 |                 |                 | output).        |
->|                 |                 |                 | Disabled if     |
->|                 |                 |                 | unset.          |
->+-----------------+-----------------+-----------------+-----------------+
->| boundRelaxation | OT_REAL         | 10000           | Initial         |
->|                 |                 |                 | relaxation of   |
->|                 |                 |                 | bounds to start |
->|                 |                 |                 | homotopy and    |
->|                 |                 |                 | initial value   |
->|                 |                 |                 | for far bounds. |
->+-----------------+-----------------+-----------------+-----------------+
->| boundTolerance  | OT_REAL         | 0.000           | If upper and    |
->|                 |                 |                 | lower bounds    |
->|                 |                 |                 | differ less     |
->|                 |                 |                 | than this       |
->|                 |                 |                 | tolerance, they |
->|                 |                 |                 | are regarded    |
->|                 |                 |                 | equal, i.e. as  |
->|                 |                 |                 | equality        |
->|                 |                 |                 | constraint.     |
->+-----------------+-----------------+-----------------+-----------------+
->| enableCholeskyR | OT_INTEGER      | 0               | Specifies the   |
->| efactorisation  |                 |                 | frequency of a  |
->|                 |                 |                 | full re-        |
->|                 |                 |                 | factorisation   |
->|                 |                 |                 | of projected    |
->|                 |                 |                 | Hessian matrix: |
->|                 |                 |                 | 0: turns them   |
->|                 |                 |                 | off, 1: uses    |
->|                 |                 |                 | them at each    |
->|                 |                 |                 | iteration etc.  |
->+-----------------+-----------------+-----------------+-----------------+
->| enableDriftCorr | OT_INTEGER      | 1               | Specifies the   |
->| ection          |                 |                 | frequency of    |
->|                 |                 |                 | drift           |
->|                 |                 |                 | corrections: 0: |
->|                 |                 |                 | turns them off. |
->+-----------------+-----------------+-----------------+-----------------+
->| enableEqualitie | OT_BOOLEAN      | False           | Specifies       |
->| s               |                 |                 | whether         |
->|                 |                 |                 | equalities      |
->|                 |                 |                 | should be       |
->|                 |                 |                 | treated as      |
->|                 |                 |                 | always active   |
->|                 |                 |                 | (True) or not   |
->|                 |                 |                 | (False)         |
->+-----------------+-----------------+-----------------+-----------------+
->| enableFarBounds | OT_BOOLEAN      | True            | Enables the use |
->|                 |                 |                 | of far bounds.  |
->+-----------------+-----------------+-----------------+-----------------+
->| enableFlippingB | OT_BOOLEAN      | True            | Enables the use |
->| ounds           |                 |                 | of flipping     |
->|                 |                 |                 | bounds.         |
->+-----------------+-----------------+-----------------+-----------------+
->| enableFullLITes | OT_BOOLEAN      | False           | Enables         |
->| ts              |                 |                 | condition-      |
->|                 |                 |                 | hardened (but   |
->|                 |                 |                 | more expensive) |
->|                 |                 |                 | LI test.        |
->+-----------------+-----------------+-----------------+-----------------+
->| enableNZCTests  | OT_BOOLEAN      | True            | Enables nonzero |
->|                 |                 |                 | curvature       |
->|                 |                 |                 | tests.          |
->+-----------------+-----------------+-----------------+-----------------+
->| enableRamping   | OT_BOOLEAN      | True            | Enables         |
->|                 |                 |                 | ramping.        |
->+-----------------+-----------------+-----------------+-----------------+
->| enableRegularis | OT_BOOLEAN      | False           | Enables         |
->| ation           |                 |                 | automatic       |
->|                 |                 |                 | Hessian         |
->|                 |                 |                 | regularisation. |
->+-----------------+-----------------+-----------------+-----------------+
->| epsDen          | OT_REAL         | 0.000           | Denominator     |
->|                 |                 |                 | tolerance for   |
->|                 |                 |                 | ratio tests.    |
->+-----------------+-----------------+-----------------+-----------------+
->| epsFlipping     | OT_REAL         | 0.000           | Tolerance of    |
->|                 |                 |                 | squared         |
->|                 |                 |                 | Cholesky        |
->|                 |                 |                 | diagonal factor |
->|                 |                 |                 | which triggers  |
->|                 |                 |                 | flipping bound. |
->+-----------------+-----------------+-----------------+-----------------+
->| epsIterRef      | OT_REAL         | 0.000           | Early           |
->|                 |                 |                 | termination     |
->|                 |                 |                 | tolerance for   |
->|                 |                 |                 | iterative       |
->|                 |                 |                 | refinement.     |
->+-----------------+-----------------+-----------------+-----------------+
->| epsLITests      | OT_REAL         | 0.000           | Tolerance for   |
->|                 |                 |                 | linear          |
->|                 |                 |                 | independence    |
->|                 |                 |                 | tests.          |
->+-----------------+-----------------+-----------------+-----------------+
->| epsNZCTests     | OT_REAL         | 0.000           | Tolerance for   |
->|                 |                 |                 | nonzero         |
->|                 |                 |                 | curvature       |
->|                 |                 |                 | tests.          |
->+-----------------+-----------------+-----------------+-----------------+
->| epsNum          | OT_REAL         | -0.000          | Numerator       |
->|                 |                 |                 | tolerance for   |
->|                 |                 |                 | ratio tests.    |
->+-----------------+-----------------+-----------------+-----------------+
->| epsRegularisati | OT_REAL         | 0.000           | Scaling factor  |
->| on              |                 |                 | of identity     |
->|                 |                 |                 | matrix used for |
->|                 |                 |                 | Hessian         |
->|                 |                 |                 | regularisation. |
->+-----------------+-----------------+-----------------+-----------------+
->| finalRamping    | OT_REAL         | 1               | Final value for |
->|                 |                 |                 | ramping         |
->|                 |                 |                 | strategy.       |
->+-----------------+-----------------+-----------------+-----------------+
->| growFarBounds   | OT_REAL         | 1000            | Factor to grow  |
->|                 |                 |                 | far bounds.     |
->+-----------------+-----------------+-----------------+-----------------+
->| initialFarBound | OT_REAL         | 1000000         | Initial size    |
->| s               |                 |                 | for far bounds. |
->+-----------------+-----------------+-----------------+-----------------+
->| initialRamping  | OT_REAL         | 0.500           | Start value for |
->|                 |                 |                 | ramping         |
->|                 |                 |                 | strategy.       |
->+-----------------+-----------------+-----------------+-----------------+
->| initialStatusBo | OT_STRING       | lower           | Initial status  |
->| unds            |                 |                 | of bounds at    |
->|                 |                 |                 | first           |
->|                 |                 |                 | iteration.      |
->+-----------------+-----------------+-----------------+-----------------+
->| maxDualJump     | OT_REAL         | 100000000       | Maximum allowed |
->|                 |                 |                 | jump in dual    |
->|                 |                 |                 | variables in    |
->|                 |                 |                 | linear          |
->|                 |                 |                 | independence    |
->|                 |                 |                 | tests.          |
->+-----------------+-----------------+-----------------+-----------------+
->| maxPrimalJump   | OT_REAL         | 100000000       | Maximum allowed |
->|                 |                 |                 | jump in primal  |
->|                 |                 |                 | variables in    |
->|                 |                 |                 | nonzero         |
->|                 |                 |                 | curvature       |
->|                 |                 |                 | tests.          |
->+-----------------+-----------------+-----------------+-----------------+
->| nWSR            | OT_INTEGER      | None            | The maximum     |
->|                 |                 |                 | number of       |
->|                 |                 |                 | working set     |
->|                 |                 |                 | recalculations  |
->|                 |                 |                 | to be performed |
->|                 |                 |                 | during the      |
->|                 |                 |                 | initial         |
->|                 |                 |                 | homotopy.       |
->|                 |                 |                 | Default is 5(nx |
->|                 |                 |                 | + nc)           |
->+-----------------+-----------------+-----------------+-----------------+
->| numRefinementSt | OT_INTEGER      | 1               | Maximum number  |
->| eps             |                 |                 | of iterative    |
->|                 |                 |                 | refinement      |
->|                 |                 |                 | steps.          |
->+-----------------+-----------------+-----------------+-----------------+
->| numRegularisati | OT_INTEGER      | 0               | Maximum number  |
->| onSteps         |                 |                 | of successive   |
->|                 |                 |                 | regularisation  |
->|                 |                 |                 | steps.          |
->+-----------------+-----------------+-----------------+-----------------+
->| printLevel      | OT_STRING       | medium          | Defines the     |
->|                 |                 |                 | amount of text  |
->|                 |                 |                 | output during   |
->|                 |                 |                 | QP solution,    |
->|                 |                 |                 | see Section 5.7 |
->+-----------------+-----------------+-----------------+-----------------+
->| terminationTole | OT_REAL         | 0.000           | Relative        |
->| rance           |                 |                 | termination     |
->|                 |                 |                 | tolerance to    |
->|                 |                 |                 | stop homotopy.  |
->+-----------------+-----------------+-----------------+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->sqic
->----
->
->
->
->Interface to the SQIC solver for quadratic programming
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->nlp
->---
->
->
->
->Solve QPs using an NlpSolver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->>List of available stats
->
->+------------------+
->|        Id        |
->+==================+
->| nlp_solver_stats |
->+------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->qcqp
->----
->
->
->
->Solve QP using a QcqpSolver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->>List of available stats
->
->+-------------------+
->|        Id         |
->+===================+
->| qcqp_solver_stats |
->+-------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joel Andersson
->
->C++ includes: qp_solver.hpp 
--}
-newtype QpSolver = QpSolver (ForeignPtr QpSolver')
--- typeclass decl
-class QpSolverClass a where
-  castQpSolver :: a -> QpSolver
-instance QpSolverClass QpSolver where
-  castQpSolver = id
-
--- baseclass instances
-instance FunctionClass QpSolver where
-  castFunction (QpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass QpSolver where
-  castOptionsFunctionality (QpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass QpSolver where
-  castSharedObject (QpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass QpSolver where
-  castIOInterfaceFunction (QpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QpSolver (Ptr QpSolver') where
-  marshal (QpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__QpSolver" 
-  c_delete_casadi__QpSolver :: FunPtr (Ptr QpSolver' -> IO ())
-instance WrapReturn (Ptr QpSolver') QpSolver where
-  wrapReturn = (fmap QpSolver) . (newForeignPtr c_delete_casadi__QpSolver)
-
-
--- raw decl
-data SX'
--- data decl
-{-|
--}
-newtype SX = SX (ForeignPtr SX')
--- typeclass decl
-class SXClass a where
-  castSX :: a -> SX
-instance SXClass SX where
-  castSX = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal SX (Ptr SX') where
-  marshal (SX x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SX x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__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
-data SXElement'
--- data decl
-{-|
--}
-newtype SXElement = SXElement (ForeignPtr SXElement')
--- typeclass decl
-class SXElementClass a where
-  castSXElement :: a -> SXElement
-instance SXElementClass SXElement where
-  castSXElement = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal SXElement (Ptr SXElement') where
-  marshal (SXElement x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SXElement x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__SXElement" 
-  c_delete_casadi__SXElement :: FunPtr (Ptr SXElement' -> IO ())
-instance WrapReturn (Ptr SXElement') SXElement where
-  wrapReturn = (fmap SXElement) . (newForeignPtr c_delete_casadi__SXElement)
-
-
--- raw decl
-data SXFunction'
--- data decl
-{-|
->Dynamically created function that can be expanded into a series of scalar
->operations.
->
->Joel Andersson
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| just_in_time | OT_BOOLEAN   | false        | Just-in-time | casadi::SXFu |
->| _opencl      |              |              | compilation  | nctionIntern |
->|              |              |              | for numeric  | al           |
->|              |              |              | evaluation   |              |
->|              |              |              | using OpenCL |              |
->|              |              |              | (experimenta |              |
->|              |              |              | l)           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| just_in_time | OT_BOOLEAN   | false        | Propagate    | casadi::SXFu |
->| _sparsity    |              |              | sparsity     | nctionIntern |
->|              |              |              | patterns     | al           |
->|              |              |              | using just-  |              |
->|              |              |              | in-time      |              |
->|              |              |              | compilation  |              |
->|              |              |              | to a CPU or  |              |
->|              |              |              | GPU using    |              |
->|              |              |              | OpenCL       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->C++ includes: sx_function.hpp 
--}
-newtype SXFunction = SXFunction (ForeignPtr SXFunction')
--- typeclass decl
-class SXFunctionClass a where
-  castSXFunction :: a -> SXFunction
-instance SXFunctionClass SXFunction where
-  castSXFunction = id
-
--- baseclass instances
-instance FunctionClass SXFunction where
-  castFunction (SXFunction x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass SXFunction where
-  castOptionsFunctionality (SXFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass SXFunction where
-  castSharedObject (SXFunction x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SXFunction where
-  castIOInterfaceFunction (SXFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SXFunction (Ptr SXFunction') where
-  marshal (SXFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SXFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__SXFunction" 
-  c_delete_casadi__SXFunction :: FunPtr (Ptr SXFunction' -> IO ())
-instance WrapReturn (Ptr SXFunction') SXFunction where
-  wrapReturn = (fmap SXFunction) . (newForeignPtr c_delete_casadi__SXFunction)
-
-
--- raw decl
-data SdpSolver'
--- data decl
-{-|
->SdpSolver.
->
->Solves an SDP problem in standard form.
->Seehttp://sdpa.indsys.chuo-u.ac.jp/sdpa/files/sdpa-c.6.2.0.manual.pdf
->
->Primal:
->
->
->
->::
->
->  min          c' x
->  x
->  subject to
->  P = Sum_i^m F_i x_i - G
->  P negative semidefinite
->  
->  LBA <= A x <= UBA
->  LBX <= x   <= UBX
->  
->  with x ( n x 1)
->  c ( n x 1 )
->  G, F_i  sparse symmetric (m x m)
->  X dense symmetric ( m x m )
->  A sparse matrix ( nc x n)
->  LBA, UBA dense vector (nc x 1)
->  LBX, UBX dense vector (n x 1)
->
->
->
->This formulation is chosen as primal, because it does not call for a large
->decision variable space.
->
->Dual:
->
->
->
->::
->
->  max          trace(G Y)
->  Y
->  
->  subject to
->  trace(F_i Y) = c_i
->  Y positive semidefinite
->  
->  with Y dense symmetric ( m x m)
->
->
->
->On generality: you might have formulation with block partitioning:
->
->Primal:
->
->
->
->::
->
->  min          c' x
->  x
->  subject to
->  Pj = Sum_i^m F_ij x_i - gj   for all j
->  Pj negative semidefinite   for all j
->  
->  with x ( n x 1)
->  c ( n x 1 )
->  G, F_i  sparse symmetric (m x m)
->  X dense symmetric ( m x m )
->
->
->
->Dual:
->
->::
->
->  max          Sum_j trace(Gj Yj)
->  Yj
->  
->  subject to
->  Sum_j trace(F_ij Yj) = c_i   for all j
->  Yj positive semidefinite     for all j
->  
->  with Y dense symmetric ( m x m)
->
->
->
->You can cast this into the standard form with: G = blkdiag(Gj for all j) Fi
->= blkdiag(F_ij for all j)
->
->Implementations of SdpSolver are encouraged to exploit this block structure.
->
->General information
->===================
->
->
->
->>Input scheme: casadi::SDPInput (SDP_SOLVER_NUM_IN = 8) [sdpIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDP_SOLVER_F           | f                      | The horizontal stack   |
->|                        |                        | of all matrices F_i: ( |
->|                        |                        | m x nm) .              |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_C           | c                      | The vector c: ( n x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_G           | g                      | The matrix G: ( m x m) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_A           | a                      | The matrix A: ( nc x   |
->|                        |                        | n) .                   |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_LBA         | lba                    | Lower bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_UBA         | uba                    | Upper bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_LBX         | lbx                    | Lower bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_UBX         | ubx                    | Upper bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::SDPOutput (SDP_SOLVER_NUM_OUT = 7) [sdpOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDP_SOLVER_X           | x                      | The primal solution (n |
->|                        |                        | x 1) - may be used as  |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_P           | p                      | The solution P (m x m) |
->|                        |                        | - may be used as       |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_DUAL        | dual                   | The dual solution (m x |
->|                        |                        | m) - may be used as    |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_COST        | cost                   | The primal optimal     |
->|                        |                        | cost (1 x 1) .         |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_DUAL_COST   | dual_cost              | The dual optimal cost  |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_LAM_A       | lam_a                  | The dual solution      |
->|                        |                        | corresponding to the   |
->|                        |                        | linear constraints (nc |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_LAM_X       | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds (n x 1)  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| calc_dual    | OT_BOOLEAN   | true         | Indicate if  | casadi::SdpS |
->|              |              |              | dual should  | olverInterna |
->|              |              |              | be allocated | l            |
->|              |              |              | and          |              |
->|              |              |              | calculated.  |              |
->|              |              |              | You may want |              |
->|              |              |              | to avoid     |              |
->|              |              |              | calculating  |              |
->|              |              |              | this         |              |
->|              |              |              | variable for |              |
->|              |              |              | problems     |              |
->|              |              |              | with n       |              |
->|              |              |              | large, as is |              |
->|              |              |              | always dense |              |
->|              |              |              | (m x m).     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| calc_p       | OT_BOOLEAN   | true         | Indicate if  | casadi::SdpS |
->|              |              |              | the P-part   | olverInterna |
->|              |              |              | of primal    | l            |
->|              |              |              | solution     |              |
->|              |              |              | should be    |              |
->|              |              |              | allocated    |              |
->|              |              |              | and          |              |
->|              |              |              | calculated.  |              |
->|              |              |              | You may want |              |
->|              |              |              | to avoid     |              |
->|              |              |              | calculating  |              |
->|              |              |              | this         |              |
->|              |              |              | variable for |              |
->|              |              |              | problems     |              |
->|              |              |              | with n       |              |
->|              |              |              | large, as is |              |
->|              |              |              | always dense |              |
->|              |              |              | (m x m).     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| print_proble | OT_BOOLEAN   | false        | Print out    | casadi::SdpS |
->| m            |              |              | problem      | olverInterna |
->|              |              |              | statement    | l            |
->|              |              |              | for          |              |
->|              |              |              | debugging.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_SdpSolver_dsdp'>dsdp</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->SdpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->dsdp
->----
->
->
->
->Interface to the SDP solver DSDP Warning: The solver DSDP is not good at
->handling linear equalities. There are several options if you notice
->difficulties: play around with the parameter "_penalty" leave a gap
->manually switch to another SDP Solver
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| _loglevel       | OT_INTEGER      | 0               | An integer that |
->|                 |                 |                 | specifies how   |
->|                 |                 |                 | much logging is |
->|                 |                 |                 | done on stdout. |
->+-----------------+-----------------+-----------------+-----------------+
->| _penalty        | OT_REAL         | 100000          | Penality        |
->|                 |                 |                 | parameter       |
->|                 |                 |                 | lambda. Must    |
->|                 |                 |                 | exceed the      |
->|                 |                 |                 | trace of Y.     |
->|                 |                 |                 | This parameter  |
->|                 |                 |                 | heavily         |
->|                 |                 |                 | influences the  |
->|                 |                 |                 | ability of DSDP |
->|                 |                 |                 | to treat linear |
->|                 |                 |                 | equalities. The |
->|                 |                 |                 | DSDP standard   |
->|                 |                 |                 | default (1e8)   |
->|                 |                 |                 | will make a     |
->|                 |                 |                 | problem with    |
->|                 |                 |                 | linear equality |
->|                 |                 |                 | return unusable |
->|                 |                 |                 | solutions.      |
->+-----------------+-----------------+-----------------+-----------------+
->| _printlevel     | OT_INTEGER      | 1               | A printlevel of |
->|                 |                 |                 | zero will       |
->|                 |                 |                 | disable all     |
->|                 |                 |                 | output. Another |
->|                 |                 |                 | number          |
->|                 |                 |                 | indicates how   |
->|                 |                 |                 | often a line is |
->|                 |                 |                 | printed.        |
->+-----------------+-----------------+-----------------+-----------------+
->| _reuse          | OT_INTEGER      | 4               | Maximum on the  |
->|                 |                 |                 | number of times |
->|                 |                 |                 | the Schur       |
->|                 |                 |                 | complement      |
->|                 |                 |                 | matrix is       |
->|                 |                 |                 | reused          |
->+-----------------+-----------------+-----------------+-----------------+
->| _rho            | OT_REAL         | 4               | Potential       |
->|                 |                 |                 | parameter. Must |
->|                 |                 |                 | be >=1          |
->+-----------------+-----------------+-----------------+-----------------+
->| _use_penalty    | OT_BOOLEAN      | true            | Modifies the    |
->|                 |                 |                 | algorithm to    |
->|                 |                 |                 | use a penality  |
->|                 |                 |                 | gamma on r.     |
->+-----------------+-----------------+-----------------+-----------------+
->| _zbar           | OT_REAL         | 1.000e+10       | Initial upper   |
->|                 |                 |                 | bound on the    |
->|                 |                 |                 | objective of    |
->|                 |                 |                 | the dual        |
->|                 |                 |                 | problem.        |
->+-----------------+-----------------+-----------------+-----------------+
->| dualTol         | OT_REAL         | 0.000           | Tolerance for   |
->|                 |                 |                 | dual            |
->|                 |                 |                 | infeasibility   |
->|                 |                 |                 | (translates to  |
->|                 |                 |                 | primal          |
->|                 |                 |                 | infeasibility   |
->|                 |                 |                 | in dsdp terms)  |
->+-----------------+-----------------+-----------------+-----------------+
->| gapTol          | OT_REAL         | 0.000           | Convergence     |
->|                 |                 |                 | criterion based |
->|                 |                 |                 | on distance     |
->|                 |                 |                 | between primal  |
->|                 |                 |                 | and dual        |
->|                 |                 |                 | objective       |
->+-----------------+-----------------+-----------------+-----------------+
->| inf             | OT_REAL         | 1.000e+30       | Treat numbers   |
->|                 |                 |                 | higher than     |
->|                 |                 |                 | this as         |
->|                 |                 |                 | infinity        |
->+-----------------+-----------------+-----------------+-----------------+
->| maxIter         | OT_INTEGER      | 500             | Maximum number  |
->|                 |                 |                 | of iterations   |
->+-----------------+-----------------+-----------------+-----------------+
->| primalTol       | OT_REAL         | 0.000           | Tolerance for   |
->|                 |                 |                 | primal          |
->|                 |                 |                 | infeasibility   |
->|                 |                 |                 | (translates to  |
->|                 |                 |                 | dual            |
->|                 |                 |                 | infeasibility   |
->|                 |                 |                 | in dsdp terms)  |
->+-----------------+-----------------+-----------------+-----------------+
->| stepTol         | OT_REAL         | 0.050           | Terminate the   |
->|                 |                 |                 | solver if the   |
->|                 |                 |                 | step length in  |
->|                 |                 |                 | the primal is   |
->|                 |                 |                 | below this      |
->|                 |                 |                 | tolerance.      |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available stats
->
->+--------------------+
->|         Id         |
->+====================+
->| solution_type      |
->+--------------------+
->| termination_reason |
->+--------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joel Andersson
->
->C++ includes: sdp_solver.hpp 
--}
-newtype SdpSolver = SdpSolver (ForeignPtr SdpSolver')
--- typeclass decl
-class SdpSolverClass a where
-  castSdpSolver :: a -> SdpSolver
-instance SdpSolverClass SdpSolver where
-  castSdpSolver = id
-
--- baseclass instances
-instance FunctionClass SdpSolver where
-  castFunction (SdpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass SdpSolver where
-  castOptionsFunctionality (SdpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass SdpSolver where
-  castSharedObject (SdpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SdpSolver where
-  castIOInterfaceFunction (SdpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SdpSolver (Ptr SdpSolver') where
-  marshal (SdpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SdpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__SdpSolver" 
-  c_delete_casadi__SdpSolver :: FunPtr (Ptr SdpSolver' -> IO ())
-instance WrapReturn (Ptr SdpSolver') SdpSolver where
-  wrapReturn = (fmap SdpSolver) . (newForeignPtr c_delete_casadi__SdpSolver)
-
-
--- raw decl
-data SdqpSolver'
--- data decl
-{-|
->SdqpSolver.
->
->Same as an SdpSolver, but with a quadratic objective 1/2 x' H x
->
->General information
->===================
->
->
->
->>Input scheme: casadi::SDQPInput (SDQP_SOLVER_NUM_IN = 9) [sdqpIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDQP_SOLVER_H          | h                      | The matrix H: sparse ( |
->|                        |                        | n x n) .               |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_C          | c                      | The vector c: ( n x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_F          | f                      | The horizontal stack   |
->|                        |                        | of all matrices F_i: ( |
->|                        |                        | m x nm) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_G          | g                      | The matrix G: ( m x m) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_A          | a                      | The matrix A: ( nc x   |
->|                        |                        | n) .                   |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LBA        | lba                    | Lower bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_UBA        | uba                    | Upper bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LBX        | lbx                    | Lower bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_UBX        | ubx                    | Upper bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::SDQPOutput (SDQP_SOLVER_NUM_OUT = 7) [sdqpOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDQP_SOLVER_X          | x                      | The primal solution (n |
->|                        |                        | x 1) - may be used as  |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_P          | p                      | The solution P (m x m) |
->|                        |                        | - may be used as       |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_DUAL       | dual                   | The dual solution (m x |
->|                        |                        | m) - may be used as    |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_COST       | cost                   | The primal optimal     |
->|                        |                        | cost (1 x 1) .         |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_DUAL_COST  | dual_cost              | The dual optimal cost  |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to the   |
->|                        |                        | linear constraints (nc |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds (n x 1)  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sdp_solver   | OT_STRING    | GenericType( | The          | casadi::Sdqp |
->|              |              | )            | SdqpSolver   | SolverIntern |
->|              |              |              | used to      | al           |
->|              |              |              | solve the    |              |
->|              |              |              | SDPs.        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sdp_solver_o | OT_DICTIONAR | GenericType( | Options to   | casadi::Sdqp |
->| ptions       | Y            | )            | be passed to | SolverIntern |
->|              |              |              | the          | al           |
->|              |              |              | SDPSOlver    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_SdqpSolver_sdp'>sdp</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->SdqpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->sdp
->---
->
->
->
->Solve an SQDP using an SdpSolver Note: this implementation relies on
->Cholesky decomposition: Chol(H) = L -> H = LL' with L lower triangular This
->requires Pi, H to be positive definite. Positive semi-definite is not
->sufficient. Notably, H==0 will not work.
->
->A better implementation would rely on matrix square root, but we need
->singular value decomposition to implement that.
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->>List of available stats
->
->+------------------+
->|        Id        |
->+==================+
->| sdp_solver_stats |
->+------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joel Andersson
->
->C++ includes: sdqp_solver.hpp 
--}
-newtype SdqpSolver = SdqpSolver (ForeignPtr SdqpSolver')
--- typeclass decl
-class SdqpSolverClass a where
-  castSdqpSolver :: a -> SdqpSolver
-instance SdqpSolverClass SdqpSolver where
-  castSdqpSolver = id
-
--- baseclass instances
-instance FunctionClass SdqpSolver where
-  castFunction (SdqpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass SdqpSolver where
-  castOptionsFunctionality (SdqpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass SdqpSolver where
-  castSharedObject (SdqpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SdqpSolver where
-  castIOInterfaceFunction (SdqpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SdqpSolver (Ptr SdqpSolver') where
-  marshal (SdqpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SdqpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__SdqpSolver" 
-  c_delete_casadi__SdqpSolver :: FunPtr (Ptr SdqpSolver' -> IO ())
-instance WrapReturn (Ptr SdqpSolver') SdqpSolver where
-  wrapReturn = (fmap SdqpSolver) . (newForeignPtr c_delete_casadi__SdqpSolver)
-
-
--- raw decl
-data SharedObject'
--- data decl
-{-|
->SharedObject implements a reference counting framework similar for efficient
->and easily-maintained memory management.
->
->To use the class, both the SharedObject class (the public class), and the
->SharedObjectNode class (the internal class) must be inherited from. It can
->be done in two different files and together with memory management, this
->approach provides a clear distinction of which methods of the class are to
->be considered "public", i.e. methods for public use that can be considered
->to remain over time with small changes, and the internal memory.
->
->When interfacing a software, which typically includes including some header
->file, this is best done only in the file where the internal class is
->defined, to avoid polluting the global namespace and other side effects.
->
->The default constructor always means creating a null pointer to an internal
->class only. To allocate an internal class (this works only when the internal
->class isn't abstract), use the constructor with arguments.
->
->The copy constructor and the assignment operator perform shallow copies
->only, to make a deep copy you must use the clone method explicitly. This
->will give a shared pointer instance.
->
->In an inheritance hierarchy, you can cast down automatically, e.g. (
->SXFunction is a child class of Function): SXFunction derived(...); Function
->base = derived;
->
->To cast up, use the shared_cast template function, which works analogously
->to dynamic_cast, static_cast, const_cast etc, e.g.: SXFunction derived(...);
->Function base = derived; SXFunction derived_from_base =
->shared_cast<SXFunction>(base);
->
->A failed shared_cast will result in a null pointer (cf. dynamic_cast)
->
->Joel Andersson
->
->C++ includes: shared_object.hpp 
--}
-newtype SharedObject = SharedObject (ForeignPtr SharedObject')
--- typeclass decl
-class SharedObjectClass a where
-  castSharedObject :: a -> SharedObject
-instance SharedObjectClass SharedObject where
-  castSharedObject = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal SharedObject (Ptr SharedObject') where
-  marshal (SharedObject x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SharedObject x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__SharedObject" 
-  c_delete_casadi__SharedObject :: FunPtr (Ptr SharedObject' -> IO ())
-instance WrapReturn (Ptr SharedObject') SharedObject where
-  wrapReturn = (fmap SharedObject) . (newForeignPtr c_delete_casadi__SharedObject)
-
-
--- raw decl
-data Simulator'
--- data decl
-{-|
->Integrator class.
->
->An "simulator" integrates an IVP, stopping at a (fixed) number of grid
->points and evaluates a set of output functions at these points. The internal
->stepsizes of the integrator need not coincide with the gridpoints.
->
->Simulator is an casadi::Function mapping from casadi::IntegratorInput to n.
->\\\\
->
->The output function needs to be a mapping from casadi::DAEInput to n. The
->default output has n=1 and the output is the (vectorized) differential state
->for each time step.
->
->Joel Andersson
->
->>Input scheme: casadi::IntegratorInput (INTEGRATOR_NUM_IN = 6) [integratorIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | casadi::Simu |
->|              |              |              | uts)  (initi | latorInterna |
->|              |              |              | al|step)     | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->
->+---------+---------------------------+
->|   Id    |          Used in          |
->+=========+===========================+
->| initial | casadi::SimulatorInternal |
->+---------+---------------------------+
->| inputs  | casadi::FunctionInternal  |
->+---------+---------------------------+
->| outputs | casadi::FunctionInternal  |
->+---------+---------------------------+
->| step    | casadi::SimulatorInternal |
->+---------+---------------------------+
->
->C++ includes: simulator.hpp 
--}
-newtype Simulator = Simulator (ForeignPtr Simulator')
--- typeclass decl
-class SimulatorClass a where
-  castSimulator :: a -> Simulator
-instance SimulatorClass Simulator where
-  castSimulator = id
-
--- baseclass instances
-instance FunctionClass Simulator where
-  castFunction (Simulator x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass Simulator where
-  castOptionsFunctionality (Simulator x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass Simulator where
-  castSharedObject (Simulator x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Simulator where
-  castIOInterfaceFunction (Simulator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Simulator (Ptr Simulator') where
-  marshal (Simulator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Simulator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Simulator" 
-  c_delete_casadi__Simulator :: FunPtr (Ptr Simulator' -> IO ())
-instance WrapReturn (Ptr Simulator') Simulator where
-  wrapReturn = (fmap Simulator) . (newForeignPtr c_delete_casadi__Simulator)
-
-
--- raw decl
-data Slice'
--- data decl
-{-|
->Class representing a Slice.
->
->Note that Python or Octave do not need to use this class. They can just use
->slicing utility from the host language ( M[0:6] in Python, M(1:7) )
->
->C++ includes: slice.hpp 
--}
-newtype Slice = Slice (ForeignPtr Slice')
--- typeclass decl
-class SliceClass a where
-  castSlice :: a -> Slice
-instance SliceClass Slice where
-  castSlice = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal Slice (Ptr Slice') where
-  marshal (Slice x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Slice x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Slice" 
-  c_delete_casadi__Slice :: FunPtr (Ptr Slice' -> IO ())
-instance WrapReturn (Ptr Slice') Slice where
-  wrapReturn = (fmap Slice) . (newForeignPtr c_delete_casadi__Slice)
-
-
--- raw decl
-data SocpSolver'
--- data decl
-{-|
->SocpSolver.
->
->Solves an Second Order Cone Programming (SOCP) problem in standard form.
->
->Primal:
->
->
->
->::
->
->  min          c' x
->  x
->  subject to
->  || Gi' x + hi ||_2 <= ei' x + fi  i = 1..m
->  
->  LBA <= A x <= UBA
->  LBX <= x   <= UBX
->  
->  with x ( n x 1)
->  c ( n x 1 )
->  Gi  sparse (n x ni)
->  hi  dense (ni x 1)
->  ei  dense (n x 1)
->  fi  dense (1 x 1)
->  N = Sum_i^m ni
->  A sparse (nc x n)
->  LBA, UBA dense vector (nc x 1)
->  LBX, UBX dense vector (n x 1)
->
->
->
->General information
->===================
->
->
->
->>Input scheme: casadi::SOCPInput (SOCP_SOLVER_NUM_IN = 10) [socpIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SOCP_SOLVER_G          | g                      | The horizontal stack   |
->|                        |                        | of all matrices Gi: (  |
->|                        |                        | n x N) .               |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_H          | h                      | The vertical stack of  |
->|                        |                        | all vectors hi: ( N x  |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_E          | e                      | The vertical stack of  |
->|                        |                        | all vectors ei: ( nm x |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_F          | f                      | The vertical stack of  |
->|                        |                        | all scalars fi: ( m x  |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_C          | c                      | The vector c: ( n x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_A          | a                      | The matrix A: ( nc x   |
->|                        |                        | n) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LBA        | lba                    | Lower bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_UBA        | uba                    | Upper bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LBX        | lbx                    | Lower bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_UBX        | ubx                    | Upper bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::SOCPOutput (SOCP_SOLVER_NUM_OUT = 4) [socpOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SOCP_SOLVER_X          | x                      | The primal solution (n |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_COST       | cost                   | The primal optimal     |
->|                        |                        | cost (1 x 1) .         |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to the   |
->|                        |                        | linear constraints (nc |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds (n x 1)  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| ni           | OT_INTEGERVE | GenericType( | Provide the  | casadi::Socp |
->|              | CTOR         | )            | size of each | SolverIntern |
->|              |              |              | SOC          | al           |
->|              |              |              | constraint.  |              |
->|              |              |              | Must sum up  |              |
->|              |              |              | to N.        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_proble | OT_BOOLEAN   | false        | Print out    | casadi::Socp |
->| m            |              |              | problem      | SolverIntern |
->|              |              |              | statement    | al           |
->|              |              |              | for          |              |
->|              |              |              | debugging.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_SocpSolver_sdp'>sdp</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->SocpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->sdp
->---
->
->
->
->Solve SOCPs using an SdpSolver
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->>List of available stats
->
->+------------------+
->|        Id        |
->+==================+
->| sdp_solver_stats |
->+------------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joris Gillis
->
->C++ includes: socp_solver.hpp 
--}
-newtype SocpSolver = SocpSolver (ForeignPtr SocpSolver')
--- typeclass decl
-class SocpSolverClass a where
-  castSocpSolver :: a -> SocpSolver
-instance SocpSolverClass SocpSolver where
-  castSocpSolver = id
-
--- baseclass instances
-instance FunctionClass SocpSolver where
-  castFunction (SocpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass SocpSolver where
-  castOptionsFunctionality (SocpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass SocpSolver where
-  castSharedObject (SocpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SocpSolver where
-  castIOInterfaceFunction (SocpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SocpSolver (Ptr SocpSolver') where
-  marshal (SocpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SocpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__SocpSolver" 
-  c_delete_casadi__SocpSolver :: FunPtr (Ptr SocpSolver' -> IO ())
-instance WrapReturn (Ptr SocpSolver') SocpSolver where
-  wrapReturn = (fmap SocpSolver) . (newForeignPtr c_delete_casadi__SocpSolver)
-
-
--- raw decl
-data Sparsity'
--- data decl
-{-|
->General sparsity class.
->
->The storage format is a compressed column storage (CCS) format.  In this
->format, the structural non-zero elements are stored in column-major order,
->starting from the upper left corner of the matrix and ending in the lower
->right corner.
->
->In addition to the dimension ( size1(), size2()), (i.e. the number of rows
->and the number of columns respectively), there are also two vectors of
->integers:
->
->"colind" [length size2()+1], which contains the index to the first non-
->zero element on or after the corresponding column. All the non-zero elements
->of a particular i are thus the elements with index el that fulfills:
->colind[i] <= el < colind[i+1].
->
->"row" [same length as the number of non-zero elements, size()] The rows
->for each of the structural non-zeros.
->
->Note that with this format, it is cheap to loop over all the non-zero
->elements of a particular column, at constant time per element, but expensive
->to jump to access a location (i, j).
->
->If the matrix is dense, i.e. length(row) == size1()*size2(), the format
->reduces to standard dense column major format, which allows access to an
->arbitrary element in constant time.
->
->Since the object is reference counted (it inherits from SharedObject),
->several matrices are allowed to share the same sparsity pattern.
->
->The implementations of some methods of this class has been taken from the
->CSparse package and modified to use C++ standard library and CasADi data
->structures.
->
->See:   Matrix
->
->Joel Andersson
->
->C++ includes: sparsity.hpp 
--}
-newtype Sparsity = Sparsity (ForeignPtr Sparsity')
--- typeclass decl
-class SparsityClass a where
-  castSparsity :: a -> Sparsity
-instance SparsityClass Sparsity where
-  castSparsity = id
-
--- baseclass instances
-instance SharedObjectClass Sparsity where
-  castSharedObject (Sparsity x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Sparsity (Ptr Sparsity') where
-  marshal (Sparsity x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Sparsity x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Sparsity" 
-  c_delete_casadi__Sparsity :: FunPtr (Ptr Sparsity' -> IO ())
-instance WrapReturn (Ptr Sparsity') Sparsity where
-  wrapReturn = (fmap Sparsity) . (newForeignPtr c_delete_casadi__Sparsity)
-
-
--- raw decl
-data StabilizedQpSolver'
--- data decl
-{-|
->StabilizedQpSolver.
->
->Solves the following strictly convex problem:
->
->
->
->::
->
->  min          1/2 x' H x + g' x
->  x
->  
->  subject to
->  LBA <= A x <= UBA
->  LBX <= x   <= UBX
->  
->  with :
->  H sparse (n x n) positive definite
->  g dense  (n x 1)
->  
->  n: number of decision variables (x)
->  nc: number of constraints (A)
->
->
->
->If H is not positive-definite, the solver should throw an error.
->
->General information
->===================
->
->
->
->>Input scheme: casadi::StabilizedQpSolverInput (STABILIZED_QP_SOLVER_NUM_IN = 12) [stabilizedQpIn]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| STABILIZED_QP_SOLVER_H | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical.     |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_G | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_A | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lba                    | dense, (nc x 1)        |
->| BA                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_U | uba                    | dense, (nc x 1)        |
->| BA                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lbx                    | dense, (n x 1)         |
->| BX                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_U | ubx                    | dense, (n x 1)         |
->| BX                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_X | x0                     | dense, (n x 1)         |
->| 0                      |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lam_x0                 | dense                  |
->| AM_X0                  |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | muR                    | dense (1 x 1)          |
->| UR                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | muE                    | dense (nc x 1)         |
->| UE                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | mu                     | dense (nc x 1)         |
->| U                      |                        |                        |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: casadi::QpSolverOutput (QP_SOLVER_NUM_OUT = 4) [qpOut]
->
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | casadi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | casadi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | casadi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | whether      |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | casadi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | casadi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | casadi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | casadi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | casadi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->List of plugins
->===============
->
->
->
->- <a href='#plugin_StabilizedQpSolver_sqic'>sqic</a>
->
->- <a href='#plugin_StabilizedQpSolver_qp'>qp</a>
->
->Note: some of the plugins in this list might not be available on your
->system. Also, there might be extra plugins available to you that are not
->listed here. You can obtain their documentation with
->StabilizedQpSolver.doc("myextraplugin")
->
->
->
->--------------------------------------------------------------------------------
->
->sqic
->----
->
->
->
->Interface to SQIC
->
->>List of available options
->
->+----+------+---------+-------------+
->| Id | Type | Default | Description |
->+====+======+=========+=============+
->+----+------+---------+-------------+
->
->--------------------------------------------------------------------------------
->
->
->
->--------------------------------------------------------------------------------
->
->qp --
->
->
->
->Solved a stabilized QP using a standard QP solver
->
->>List of available options
->
->+-----------------+-----------------+-----------------+-----------------+
->|       Id        |      Type       |     Default     |   Description   |
->+=================+=================+=================+=================+
->| qp_solver       | OT_STRING       | GenericType()   | The QP solver   |
->|                 |                 |                 | used to solve   |
->|                 |                 |                 | the stabilized  |
->|                 |                 |                 | QPs.            |
->+-----------------+-----------------+-----------------+-----------------+
->| qp_solver_optio | OT_DICTIONARY   | GenericType()   | Options to be   |
->| ns              |                 |                 | passed to the   |
->|                 |                 |                 | QP solver       |
->|                 |                 |                 | instance        |
->+-----------------+-----------------+-----------------+-----------------+
->
->>List of available stats
->
->+-----------------+
->|       Id        |
->+=================+
->| qp_solver_stats |
->+-----------------+
->
->--------------------------------------------------------------------------------
->
->
->
->Joel Andersson
->
->C++ includes: stabilized_qp_solver.hpp 
--}
-newtype StabilizedQpSolver = StabilizedQpSolver (ForeignPtr StabilizedQpSolver')
--- typeclass decl
-class StabilizedQpSolverClass a where
-  castStabilizedQpSolver :: a -> StabilizedQpSolver
-instance StabilizedQpSolverClass StabilizedQpSolver where
-  castStabilizedQpSolver = id
-
--- baseclass instances
-instance FunctionClass StabilizedQpSolver where
-  castFunction (StabilizedQpSolver x) = Function (castForeignPtr x)
-
-instance OptionsFunctionalityClass StabilizedQpSolver where
-  castOptionsFunctionality (StabilizedQpSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass StabilizedQpSolver where
-  castSharedObject (StabilizedQpSolver x) = SharedObject (castForeignPtr x)
-
-instance IOInterfaceFunctionClass StabilizedQpSolver where
-  castIOInterfaceFunction (StabilizedQpSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal StabilizedQpSolver (Ptr StabilizedQpSolver') where
-  marshal (StabilizedQpSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (StabilizedQpSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__StabilizedQpSolver" 
-  c_delete_casadi__StabilizedQpSolver :: FunPtr (Ptr StabilizedQpSolver' -> IO ())
-instance WrapReturn (Ptr StabilizedQpSolver') StabilizedQpSolver where
-  wrapReturn = (fmap StabilizedQpSolver) . (newForeignPtr c_delete_casadi__StabilizedQpSolver)
-
-
--- raw decl
-data SymbolicNLP'
--- data decl
-{-|
->A symbolic NLP representation.
->
->Joel Andersson
->
->C++ includes: symbolic_nlp.hpp 
--}
-newtype SymbolicNLP = SymbolicNLP (ForeignPtr SymbolicNLP')
--- typeclass decl
-class SymbolicNLPClass a where
-  castSymbolicNLP :: a -> SymbolicNLP
-instance SymbolicNLPClass SymbolicNLP where
-  castSymbolicNLP = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal SymbolicNLP (Ptr SymbolicNLP') where
-  marshal (SymbolicNLP x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SymbolicNLP x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__SymbolicNLP" 
-  c_delete_casadi__SymbolicNLP :: FunPtr (Ptr SymbolicNLP' -> IO ())
-instance WrapReturn (Ptr SymbolicNLP') SymbolicNLP where
-  wrapReturn = (fmap SymbolicNLP) . (newForeignPtr c_delete_casadi__SymbolicNLP)
-
-
--- raw decl
-data SymbolicOCP'
--- data decl
-{-|
->A flat OCP representation coupled to an XML file.
->
->Variables:
->==========
->
->
->
->
->
->::
->
->  x:      differential states
->  z:      algebraic states
->  p :     independent parameters
->  t :     time
->  u :     control signals
->  q :     quadrature states
->  y :     dependent variables
->  
->
->
->
->Equations:
->==========
->
->
->
->
->
->::
->
->  explicit or implicit ODE: \\\\dot {x} = ode(t, x, z, u, p_free, pi, pd)
->  or                           0 = ode(t, x, z,\\\\dot {x}, u, p_free, pi, pd)
->  algebraic equations:            0 = alg(t, x, z, u, p_free, pi, pd)
->  quadratures:              \\\\dot {q} = quad(t, x, z, u, p_free, pi, pd)
->  dependent equations:            y = dep(t, x, z, u, p_free, pi, pd)
->  initial equations:              0 = initial(t, x, z, u, p_free, pi, pd)
->  
->
->
->
->Objective function terms:
->=========================
->
->
->
->
->
->::
->
->  Mayer terms:          \\\\sum {mterm_k}
->  Lagrange terms:       \\\\sum {\\\\integral{mterm}}
->  
->
->
->
->Note that when parsed, all dynamic equations end up in the implicit category
->"dae". At a later state, the DAE can be reformulated, for example in semi-
->explicit form, possibly in addition to a set of quadrature states.
->
->Usage skeleton:
->===============
->
->
->
->Call default constructor  SymbolicOCP ocp;
->
->Parse an FMI conformant XML file ocp.parseFMI(xml_file_name)
->
->Modify/add variables, equations, optimization ...
->
->When the optimal control problem is in a suitable form, it is possible to
->either generate functions for numeric/symbolic evaluation or exporting the
->OCP formulation into a new FMI conformant XML file. The latter functionality
->is not yet available.
->
->Joel Andersson
->
->C++ includes: symbolic_ocp.hpp 
--}
-newtype SymbolicOCP = SymbolicOCP (ForeignPtr SymbolicOCP')
--- typeclass decl
-class SymbolicOCPClass a where
-  castSymbolicOCP :: a -> SymbolicOCP
-instance SymbolicOCPClass SymbolicOCP where
-  castSymbolicOCP = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal SymbolicOCP (Ptr SymbolicOCP') where
-  marshal (SymbolicOCP x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SymbolicOCP x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__SymbolicOCP" 
-  c_delete_casadi__SymbolicOCP :: FunPtr (Ptr SymbolicOCP' -> IO ())
-instance WrapReturn (Ptr SymbolicOCP') SymbolicOCP where
-  wrapReturn = (fmap SymbolicOCP) . (newForeignPtr c_delete_casadi__SymbolicOCP)
-
-
--- raw decl
-data Variable'
--- data decl
-{-|
->Holds expressions and meta-data corresponding to a physical quantity
->evolving in time.
->
->Joel Andersson
->
->C++ includes: variable.hpp 
--}
-newtype Variable = Variable (ForeignPtr Variable')
--- typeclass decl
-class VariableClass a where
-  castVariable :: a -> Variable
-instance VariableClass Variable where
-  castVariable = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal Variable (Ptr Variable') where
-  marshal (Variable x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Variable x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Variable" 
-  c_delete_casadi__Variable :: FunPtr (Ptr Variable' -> IO ())
-instance WrapReturn (Ptr Variable') Variable where
-  wrapReturn = (fmap Variable) . (newForeignPtr c_delete_casadi__Variable)
-
-
--- raw decl
-data XmlFile'
--- data decl
-{-|
->XML parser Can be used for parsing XML files into CasADi data structures.
->
->Joel Andersson
->
->C++ includes: xml_file.hpp 
--}
-newtype XmlFile = XmlFile (ForeignPtr XmlFile')
--- typeclass decl
-class XmlFileClass a where
-  castXmlFile :: a -> XmlFile
-instance XmlFileClass XmlFile where
-  castXmlFile = id
-
--- baseclass instances
-instance OptionsFunctionalityClass XmlFile where
-  castOptionsFunctionality (XmlFile x) = OptionsFunctionality (castForeignPtr x)
-
-instance SharedObjectClass XmlFile where
-  castSharedObject (XmlFile x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal XmlFile (Ptr XmlFile') where
-  marshal (XmlFile x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (XmlFile x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__XmlFile" 
-  c_delete_casadi__XmlFile :: FunPtr (Ptr XmlFile' -> IO ())
-instance WrapReturn (Ptr XmlFile') XmlFile where
-  wrapReturn = (fmap XmlFile) . (newForeignPtr c_delete_casadi__XmlFile)
-
-
--- raw decl
-data IOInterfaceFunction'
--- data decl
-{-|
->Interface for accessing input and output data structures.
->
->Joel Andersson
->
->C++ includes: io_interface.hpp 
+-- raw decl
+data Callback'
+-- data decl
+{-|
+-}
+newtype Callback = Callback (ForeignPtr Callback')
+-- typeclass decl
+class CallbackClass a where
+  castCallback :: a -> Callback
+instance CallbackClass Callback where
+  castCallback = id
+
+-- baseclass instances
+instance FunctorClass Callback where
+  castFunctor (Callback x) = Functor (castForeignPtr x)
+
+instance SharedObjectClass Callback where
+  castSharedObject (Callback x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Callback (Ptr Callback') where
+  marshal (Callback x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Callback x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Callback" 
+  c_delete_casadi__Callback :: FunPtr (Ptr Callback' -> IO ())
+instance WrapReturn (Ptr Callback') Callback where
+  wrapReturn = (fmap Callback) . (newForeignPtr c_delete_casadi__Callback)
+
+
+-- raw decl
+data CasadiMeta'
+-- data decl
+{-|
+-}
+newtype CasadiMeta = CasadiMeta (ForeignPtr CasadiMeta')
+-- typeclass decl
+class CasadiMetaClass a where
+  castCasadiMeta :: a -> CasadiMeta
+instance CasadiMetaClass CasadiMeta where
+  castCasadiMeta = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal CasadiMeta (Ptr CasadiMeta') where
+  marshal (CasadiMeta x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (CasadiMeta x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__CasadiMeta" 
+  c_delete_casadi__CasadiMeta :: FunPtr (Ptr CasadiMeta' -> IO ())
+instance WrapReturn (Ptr CasadiMeta') CasadiMeta where
+  wrapReturn = (fmap CasadiMeta) . (newForeignPtr c_delete_casadi__CasadiMeta)
+
+
+-- raw decl
+data CasadiOptions'
+-- data decl
+{-|
+-}
+newtype CasadiOptions = CasadiOptions (ForeignPtr CasadiOptions')
+-- typeclass decl
+class CasadiOptionsClass a where
+  castCasadiOptions :: a -> CasadiOptions
+instance CasadiOptionsClass CasadiOptions where
+  castCasadiOptions = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal CasadiOptions (Ptr CasadiOptions') where
+  marshal (CasadiOptions x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (CasadiOptions x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__CasadiOptions" 
+  c_delete_casadi__CasadiOptions :: FunPtr (Ptr CasadiOptions' -> IO ())
+instance WrapReturn (Ptr CasadiOptions') CasadiOptions where
+  wrapReturn = (fmap CasadiOptions) . (newForeignPtr c_delete_casadi__CasadiOptions)
+
+
+-- raw decl
+data CleSolver'
+-- data decl
+{-|
+-}
+newtype CleSolver = CleSolver (ForeignPtr CleSolver')
+-- typeclass decl
+class CleSolverClass a where
+  castCleSolver :: a -> CleSolver
+instance CleSolverClass CleSolver where
+  castCleSolver = id
+
+-- baseclass instances
+instance FunctionClass CleSolver where
+  castFunction (CleSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass CleSolver where
+  castOptionsFunctionality (CleSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass CleSolver where
+  castSharedObject (CleSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass CleSolver where
+  castIOInterfaceFunction (CleSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal CleSolver (Ptr CleSolver') where
+  marshal (CleSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (CleSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__CleSolver" 
+  c_delete_casadi__CleSolver :: FunPtr (Ptr CleSolver' -> IO ())
+instance WrapReturn (Ptr CleSolver') CleSolver where
+  wrapReturn = (fmap CleSolver) . (newForeignPtr c_delete_casadi__CleSolver)
+
+
+-- raw decl
+data ControlSimulator'
+-- data decl
+{-|
+-}
+newtype ControlSimulator = ControlSimulator (ForeignPtr ControlSimulator')
+-- typeclass decl
+class ControlSimulatorClass a where
+  castControlSimulator :: a -> ControlSimulator
+instance ControlSimulatorClass ControlSimulator where
+  castControlSimulator = id
+
+-- baseclass instances
+instance FunctionClass ControlSimulator where
+  castFunction (ControlSimulator x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass ControlSimulator where
+  castOptionsFunctionality (ControlSimulator x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass ControlSimulator where
+  castSharedObject (ControlSimulator x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass ControlSimulator where
+  castIOInterfaceFunction (ControlSimulator x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal ControlSimulator (Ptr ControlSimulator') where
+  marshal (ControlSimulator x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (ControlSimulator x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__ControlSimulator" 
+  c_delete_casadi__ControlSimulator :: FunPtr (Ptr ControlSimulator' -> IO ())
+instance WrapReturn (Ptr ControlSimulator') ControlSimulator where
+  wrapReturn = (fmap ControlSimulator) . (newForeignPtr c_delete_casadi__ControlSimulator)
+
+
+-- raw decl
+data CustomEvaluate'
+-- data decl
+{-|
+-}
+newtype CustomEvaluate = CustomEvaluate (ForeignPtr CustomEvaluate')
+-- typeclass decl
+class CustomEvaluateClass a where
+  castCustomEvaluate :: a -> CustomEvaluate
+instance CustomEvaluateClass CustomEvaluate where
+  castCustomEvaluate = id
+
+-- baseclass instances
+instance FunctorClass CustomEvaluate where
+  castFunctor (CustomEvaluate x) = Functor (castForeignPtr x)
+
+instance SharedObjectClass CustomEvaluate where
+  castSharedObject (CustomEvaluate x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal CustomEvaluate (Ptr CustomEvaluate') where
+  marshal (CustomEvaluate x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (CustomEvaluate x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__CustomEvaluate" 
+  c_delete_casadi__CustomEvaluate :: FunPtr (Ptr CustomEvaluate' -> IO ())
+instance WrapReturn (Ptr CustomEvaluate') CustomEvaluate where
+  wrapReturn = (fmap CustomEvaluate) . (newForeignPtr c_delete_casadi__CustomEvaluate)
+
+
+-- raw decl
+data CustomFunction'
+-- data decl
+{-|
+-}
+newtype CustomFunction = CustomFunction (ForeignPtr CustomFunction')
+-- typeclass decl
+class CustomFunctionClass a where
+  castCustomFunction :: a -> CustomFunction
+instance CustomFunctionClass CustomFunction where
+  castCustomFunction = id
+
+-- baseclass instances
+instance FunctionClass CustomFunction where
+  castFunction (CustomFunction x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass CustomFunction where
+  castOptionsFunctionality (CustomFunction x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass CustomFunction where
+  castSharedObject (CustomFunction x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass CustomFunction where
+  castIOInterfaceFunction (CustomFunction x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal CustomFunction (Ptr CustomFunction') where
+  marshal (CustomFunction x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (CustomFunction x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__CustomFunction" 
+  c_delete_casadi__CustomFunction :: FunPtr (Ptr CustomFunction' -> IO ())
+instance WrapReturn (Ptr CustomFunction') CustomFunction where
+  wrapReturn = (fmap CustomFunction) . (newForeignPtr c_delete_casadi__CustomFunction)
+
+
+-- raw decl
+data DMatrix'
+-- data decl
+{-|
+-}
+newtype DMatrix = DMatrix (ForeignPtr DMatrix')
+-- typeclass decl
+class DMatrixClass a where
+  castDMatrix :: a -> DMatrix
+instance DMatrixClass DMatrix where
+  castDMatrix = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal DMatrix (Ptr DMatrix') where
+  marshal (DMatrix x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (DMatrix x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__DMatrix" 
+  c_delete_casadi__DMatrix :: FunPtr (Ptr DMatrix' -> IO ())
+instance WrapReturn (Ptr DMatrix') DMatrix where
+  wrapReturn = (fmap DMatrix) . (newForeignPtr c_delete_casadi__DMatrix)
+
+
+-- raw decl
+data DerivativeGenerator'
+-- data decl
+{-|
+-}
+newtype DerivativeGenerator = DerivativeGenerator (ForeignPtr DerivativeGenerator')
+-- typeclass decl
+class DerivativeGeneratorClass a where
+  castDerivativeGenerator :: a -> DerivativeGenerator
+instance DerivativeGeneratorClass DerivativeGenerator where
+  castDerivativeGenerator = id
+
+-- baseclass instances
+instance FunctorClass DerivativeGenerator where
+  castFunctor (DerivativeGenerator x) = Functor (castForeignPtr x)
+
+instance SharedObjectClass DerivativeGenerator where
+  castSharedObject (DerivativeGenerator x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal DerivativeGenerator (Ptr DerivativeGenerator') where
+  marshal (DerivativeGenerator x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (DerivativeGenerator x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__DerivativeGenerator" 
+  c_delete_casadi__DerivativeGenerator :: FunPtr (Ptr DerivativeGenerator' -> IO ())
+instance WrapReturn (Ptr DerivativeGenerator') DerivativeGenerator where
+  wrapReturn = (fmap DerivativeGenerator) . (newForeignPtr c_delete_casadi__DerivativeGenerator)
+
+
+-- raw decl
+data DleSolver'
+-- data decl
+{-|
+-}
+newtype DleSolver = DleSolver (ForeignPtr DleSolver')
+-- typeclass decl
+class DleSolverClass a where
+  castDleSolver :: a -> DleSolver
+instance DleSolverClass DleSolver where
+  castDleSolver = id
+
+-- baseclass instances
+instance FunctionClass DleSolver where
+  castFunction (DleSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass DleSolver where
+  castOptionsFunctionality (DleSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass DleSolver where
+  castSharedObject (DleSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass DleSolver where
+  castIOInterfaceFunction (DleSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal DleSolver (Ptr DleSolver') where
+  marshal (DleSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (DleSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__DleSolver" 
+  c_delete_casadi__DleSolver :: FunPtr (Ptr DleSolver' -> IO ())
+instance WrapReturn (Ptr DleSolver') DleSolver where
+  wrapReturn = (fmap DleSolver) . (newForeignPtr c_delete_casadi__DleSolver)
+
+
+-- raw decl
+data DpleSolver'
+-- data decl
+{-|
+-}
+newtype DpleSolver = DpleSolver (ForeignPtr DpleSolver')
+-- typeclass decl
+class DpleSolverClass a where
+  castDpleSolver :: a -> DpleSolver
+instance DpleSolverClass DpleSolver where
+  castDpleSolver = id
+
+-- baseclass instances
+instance FunctionClass DpleSolver where
+  castFunction (DpleSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass DpleSolver where
+  castOptionsFunctionality (DpleSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass DpleSolver where
+  castSharedObject (DpleSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass DpleSolver where
+  castIOInterfaceFunction (DpleSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal DpleSolver (Ptr DpleSolver') where
+  marshal (DpleSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (DpleSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__DpleSolver" 
+  c_delete_casadi__DpleSolver :: FunPtr (Ptr DpleSolver' -> IO ())
+instance WrapReturn (Ptr DpleSolver') DpleSolver where
+  wrapReturn = (fmap DpleSolver) . (newForeignPtr c_delete_casadi__DpleSolver)
+
+
+-- raw decl
+data ExternalFunction'
+-- data decl
+{-|
+-}
+newtype ExternalFunction = ExternalFunction (ForeignPtr ExternalFunction')
+-- typeclass decl
+class ExternalFunctionClass a where
+  castExternalFunction :: a -> ExternalFunction
+instance ExternalFunctionClass ExternalFunction where
+  castExternalFunction = id
+
+-- baseclass instances
+instance FunctionClass ExternalFunction where
+  castFunction (ExternalFunction x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass ExternalFunction where
+  castOptionsFunctionality (ExternalFunction x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass ExternalFunction where
+  castSharedObject (ExternalFunction x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass ExternalFunction where
+  castIOInterfaceFunction (ExternalFunction x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal ExternalFunction (Ptr ExternalFunction') where
+  marshal (ExternalFunction x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (ExternalFunction x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__ExternalFunction" 
+  c_delete_casadi__ExternalFunction :: FunPtr (Ptr ExternalFunction' -> IO ())
+instance WrapReturn (Ptr ExternalFunction') ExternalFunction where
+  wrapReturn = (fmap ExternalFunction) . (newForeignPtr c_delete_casadi__ExternalFunction)
+
+
+-- raw decl
+data Function'
+-- data decl
+{-|
+-}
+newtype Function = Function (ForeignPtr Function')
+-- typeclass decl
+class FunctionClass a where
+  castFunction :: a -> Function
+instance FunctionClass Function where
+  castFunction = id
+
+-- baseclass instances
+instance OptionsFunctionalityClass Function where
+  castOptionsFunctionality (Function x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass Function where
+  castSharedObject (Function x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass Function where
+  castIOInterfaceFunction (Function x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Function (Ptr Function') where
+  marshal (Function x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Function x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Function" 
+  c_delete_casadi__Function :: FunPtr (Ptr Function' -> IO ())
+instance WrapReturn (Ptr Function') Function where
+  wrapReturn = (fmap Function) . (newForeignPtr c_delete_casadi__Function)
+
+
+-- raw decl
+data Functor'
+-- data decl
+{-|
+-}
+newtype Functor = Functor (ForeignPtr Functor')
+-- typeclass decl
+class FunctorClass a where
+  castFunctor :: a -> Functor
+instance FunctorClass Functor where
+  castFunctor = id
+
+-- baseclass instances
+instance SharedObjectClass Functor where
+  castSharedObject (Functor x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Functor (Ptr Functor') where
+  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
+data GenericType'
+-- data decl
+{-|
+-}
+newtype GenericType = GenericType (ForeignPtr GenericType')
+-- typeclass decl
+class GenericTypeClass a where
+  castGenericType :: a -> GenericType
+instance GenericTypeClass GenericType where
+  castGenericType = id
+
+-- baseclass instances
+instance SharedObjectClass GenericType where
+  castSharedObject (GenericType x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal GenericType (Ptr GenericType') where
+  marshal (GenericType x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (GenericType x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__GenericType" 
+  c_delete_casadi__GenericType :: FunPtr (Ptr GenericType' -> IO ())
+instance WrapReturn (Ptr GenericType') GenericType where
+  wrapReturn = (fmap GenericType) . (newForeignPtr c_delete_casadi__GenericType)
+
+
+-- raw decl
+data HomotopyNlpSolver'
+-- data decl
+{-|
+-}
+newtype HomotopyNlpSolver = HomotopyNlpSolver (ForeignPtr HomotopyNlpSolver')
+-- typeclass decl
+class HomotopyNlpSolverClass a where
+  castHomotopyNlpSolver :: a -> HomotopyNlpSolver
+instance HomotopyNlpSolverClass HomotopyNlpSolver where
+  castHomotopyNlpSolver = id
+
+-- baseclass instances
+instance FunctionClass HomotopyNlpSolver where
+  castFunction (HomotopyNlpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass HomotopyNlpSolver where
+  castOptionsFunctionality (HomotopyNlpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass HomotopyNlpSolver where
+  castSharedObject (HomotopyNlpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass HomotopyNlpSolver where
+  castIOInterfaceFunction (HomotopyNlpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal HomotopyNlpSolver (Ptr HomotopyNlpSolver') where
+  marshal (HomotopyNlpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (HomotopyNlpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__HomotopyNlpSolver" 
+  c_delete_casadi__HomotopyNlpSolver :: FunPtr (Ptr HomotopyNlpSolver' -> IO ())
+instance WrapReturn (Ptr HomotopyNlpSolver') HomotopyNlpSolver where
+  wrapReturn = (fmap HomotopyNlpSolver) . (newForeignPtr c_delete_casadi__HomotopyNlpSolver)
+
+
+-- raw decl
+data IMatrix'
+-- data decl
+{-|
+-}
+newtype IMatrix = IMatrix (ForeignPtr IMatrix')
+-- typeclass decl
+class IMatrixClass a where
+  castIMatrix :: a -> IMatrix
+instance IMatrixClass IMatrix where
+  castIMatrix = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal IMatrix (Ptr IMatrix') where
+  marshal (IMatrix x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (IMatrix x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__IMatrix" 
+  c_delete_casadi__IMatrix :: FunPtr (Ptr IMatrix' -> IO ())
+instance WrapReturn (Ptr IMatrix') IMatrix where
+  wrapReturn = (fmap IMatrix) . (newForeignPtr c_delete_casadi__IMatrix)
+
+
+-- raw decl
+data IOScheme'
+-- data decl
+{-|
+-}
+newtype IOScheme = IOScheme (ForeignPtr IOScheme')
+-- typeclass decl
+class IOSchemeClass a where
+  castIOScheme :: a -> IOScheme
+instance IOSchemeClass IOScheme where
+  castIOScheme = id
+
+-- baseclass instances
+instance SharedObjectClass IOScheme where
+  castSharedObject (IOScheme x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal IOScheme (Ptr IOScheme') where
+  marshal (IOScheme x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (IOScheme x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__IOScheme" 
+  c_delete_casadi__IOScheme :: FunPtr (Ptr IOScheme' -> IO ())
+instance WrapReturn (Ptr IOScheme') IOScheme where
+  wrapReturn = (fmap IOScheme) . (newForeignPtr c_delete_casadi__IOScheme)
+
+
+-- raw decl
+data ImplicitFunction'
+-- data decl
+{-|
+-}
+newtype ImplicitFunction = ImplicitFunction (ForeignPtr ImplicitFunction')
+-- typeclass decl
+class ImplicitFunctionClass a where
+  castImplicitFunction :: a -> ImplicitFunction
+instance ImplicitFunctionClass ImplicitFunction where
+  castImplicitFunction = id
+
+-- baseclass instances
+instance FunctionClass ImplicitFunction where
+  castFunction (ImplicitFunction x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass ImplicitFunction where
+  castOptionsFunctionality (ImplicitFunction x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass ImplicitFunction where
+  castSharedObject (ImplicitFunction x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass ImplicitFunction where
+  castIOInterfaceFunction (ImplicitFunction x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal ImplicitFunction (Ptr ImplicitFunction') where
+  marshal (ImplicitFunction x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (ImplicitFunction x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__ImplicitFunction" 
+  c_delete_casadi__ImplicitFunction :: FunPtr (Ptr ImplicitFunction' -> IO ())
+instance WrapReturn (Ptr ImplicitFunction') ImplicitFunction where
+  wrapReturn = (fmap ImplicitFunction) . (newForeignPtr c_delete_casadi__ImplicitFunction)
+
+
+-- raw decl
+data Integrator'
+-- data decl
+{-|
+-}
+newtype Integrator = Integrator (ForeignPtr Integrator')
+-- typeclass decl
+class IntegratorClass a where
+  castIntegrator :: a -> Integrator
+instance IntegratorClass Integrator where
+  castIntegrator = id
+
+-- baseclass instances
+instance FunctionClass Integrator where
+  castFunction (Integrator x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass Integrator where
+  castOptionsFunctionality (Integrator x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass Integrator where
+  castSharedObject (Integrator x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass Integrator where
+  castIOInterfaceFunction (Integrator x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Integrator (Ptr Integrator') where
+  marshal (Integrator x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Integrator x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Integrator" 
+  c_delete_casadi__Integrator :: FunPtr (Ptr Integrator' -> IO ())
+instance WrapReturn (Ptr Integrator') Integrator where
+  wrapReturn = (fmap Integrator) . (newForeignPtr c_delete_casadi__Integrator)
+
+
+-- raw decl
+data LinearSolver'
+-- data decl
+{-|
+-}
+newtype LinearSolver = LinearSolver (ForeignPtr LinearSolver')
+-- typeclass decl
+class LinearSolverClass a where
+  castLinearSolver :: a -> LinearSolver
+instance LinearSolverClass LinearSolver where
+  castLinearSolver = id
+
+-- baseclass instances
+instance FunctionClass LinearSolver where
+  castFunction (LinearSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass LinearSolver where
+  castOptionsFunctionality (LinearSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass LinearSolver where
+  castSharedObject (LinearSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass LinearSolver where
+  castIOInterfaceFunction (LinearSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal LinearSolver (Ptr LinearSolver') where
+  marshal (LinearSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (LinearSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__LinearSolver" 
+  c_delete_casadi__LinearSolver :: FunPtr (Ptr LinearSolver' -> IO ())
+instance WrapReturn (Ptr LinearSolver') LinearSolver where
+  wrapReturn = (fmap LinearSolver) . (newForeignPtr c_delete_casadi__LinearSolver)
+
+
+-- raw decl
+data LpSolver'
+-- data decl
+{-|
+-}
+newtype LpSolver = LpSolver (ForeignPtr LpSolver')
+-- typeclass decl
+class LpSolverClass a where
+  castLpSolver :: a -> LpSolver
+instance LpSolverClass LpSolver where
+  castLpSolver = id
+
+-- baseclass instances
+instance FunctionClass LpSolver where
+  castFunction (LpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass LpSolver where
+  castOptionsFunctionality (LpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass LpSolver where
+  castSharedObject (LpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass LpSolver where
+  castIOInterfaceFunction (LpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal LpSolver (Ptr LpSolver') where
+  marshal (LpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (LpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__LpSolver" 
+  c_delete_casadi__LpSolver :: FunPtr (Ptr LpSolver' -> IO ())
+instance WrapReturn (Ptr LpSolver') LpSolver where
+  wrapReturn = (fmap LpSolver) . (newForeignPtr c_delete_casadi__LpSolver)
+
+
+-- raw decl
+data LrDleSolver'
+-- data decl
+{-|
+-}
+newtype LrDleSolver = LrDleSolver (ForeignPtr LrDleSolver')
+-- typeclass decl
+class LrDleSolverClass a where
+  castLrDleSolver :: a -> LrDleSolver
+instance LrDleSolverClass LrDleSolver where
+  castLrDleSolver = id
+
+-- baseclass instances
+instance FunctionClass LrDleSolver where
+  castFunction (LrDleSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass LrDleSolver where
+  castOptionsFunctionality (LrDleSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass LrDleSolver where
+  castSharedObject (LrDleSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass LrDleSolver where
+  castIOInterfaceFunction (LrDleSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal LrDleSolver (Ptr LrDleSolver') where
+  marshal (LrDleSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (LrDleSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__LrDleSolver" 
+  c_delete_casadi__LrDleSolver :: FunPtr (Ptr LrDleSolver' -> IO ())
+instance WrapReturn (Ptr LrDleSolver') LrDleSolver where
+  wrapReturn = (fmap LrDleSolver) . (newForeignPtr c_delete_casadi__LrDleSolver)
+
+
+-- raw decl
+data LrDpleSolver'
+-- data decl
+{-|
+-}
+newtype LrDpleSolver = LrDpleSolver (ForeignPtr LrDpleSolver')
+-- typeclass decl
+class LrDpleSolverClass a where
+  castLrDpleSolver :: a -> LrDpleSolver
+instance LrDpleSolverClass LrDpleSolver where
+  castLrDpleSolver = id
+
+-- baseclass instances
+instance FunctionClass LrDpleSolver where
+  castFunction (LrDpleSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass LrDpleSolver where
+  castOptionsFunctionality (LrDpleSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass LrDpleSolver where
+  castSharedObject (LrDpleSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass LrDpleSolver where
+  castIOInterfaceFunction (LrDpleSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal LrDpleSolver (Ptr LrDpleSolver') where
+  marshal (LrDpleSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (LrDpleSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__LrDpleSolver" 
+  c_delete_casadi__LrDpleSolver :: FunPtr (Ptr LrDpleSolver' -> IO ())
+instance WrapReturn (Ptr LrDpleSolver') LrDpleSolver where
+  wrapReturn = (fmap LrDpleSolver) . (newForeignPtr c_delete_casadi__LrDpleSolver)
+
+
+-- raw decl
+data MX'
+-- data decl
+{-|
+-}
+newtype MX = MX (ForeignPtr MX')
+-- typeclass decl
+class MXClass a where
+  castMX :: a -> MX
+instance MXClass MX where
+  castMX = id
+
+-- baseclass instances
+instance SharedObjectClass MX where
+  castSharedObject (MX x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal MX (Ptr MX') where
+  marshal (MX x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (MX x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__MX" 
+  c_delete_casadi__MX :: FunPtr (Ptr MX' -> IO ())
+instance WrapReturn (Ptr MX') MX where
+  wrapReturn = (fmap MX) . (newForeignPtr c_delete_casadi__MX)
+
+
+-- raw decl
+data MXFunction'
+-- data decl
+{-|
+-}
+newtype MXFunction = MXFunction (ForeignPtr MXFunction')
+-- typeclass decl
+class MXFunctionClass a where
+  castMXFunction :: a -> MXFunction
+instance MXFunctionClass MXFunction where
+  castMXFunction = id
+
+-- baseclass instances
+instance FunctionClass MXFunction where
+  castFunction (MXFunction x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass MXFunction where
+  castOptionsFunctionality (MXFunction x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass MXFunction where
+  castSharedObject (MXFunction x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass MXFunction where
+  castIOInterfaceFunction (MXFunction x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal MXFunction (Ptr MXFunction') where
+  marshal (MXFunction x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (MXFunction x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__MXFunction" 
+  c_delete_casadi__MXFunction :: FunPtr (Ptr MXFunction' -> IO ())
+instance WrapReturn (Ptr MXFunction') MXFunction where
+  wrapReturn = (fmap MXFunction) . (newForeignPtr c_delete_casadi__MXFunction)
+
+
+-- raw decl
+data NlpSolver'
+-- data decl
+{-|
+-}
+newtype NlpSolver = NlpSolver (ForeignPtr NlpSolver')
+-- typeclass decl
+class NlpSolverClass a where
+  castNlpSolver :: a -> NlpSolver
+instance NlpSolverClass NlpSolver where
+  castNlpSolver = id
+
+-- baseclass instances
+instance FunctionClass NlpSolver where
+  castFunction (NlpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass NlpSolver where
+  castOptionsFunctionality (NlpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass NlpSolver where
+  castSharedObject (NlpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass NlpSolver where
+  castIOInterfaceFunction (NlpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal NlpSolver (Ptr NlpSolver') where
+  marshal (NlpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (NlpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__NlpSolver" 
+  c_delete_casadi__NlpSolver :: FunPtr (Ptr NlpSolver' -> IO ())
+instance WrapReturn (Ptr NlpSolver') NlpSolver where
+  wrapReturn = (fmap NlpSolver) . (newForeignPtr c_delete_casadi__NlpSolver)
+
+
+-- raw decl
+data Nullspace'
+-- data decl
+{-|
+-}
+newtype Nullspace = Nullspace (ForeignPtr Nullspace')
+-- typeclass decl
+class NullspaceClass a where
+  castNullspace :: a -> Nullspace
+instance NullspaceClass Nullspace where
+  castNullspace = id
+
+-- baseclass instances
+instance FunctionClass Nullspace where
+  castFunction (Nullspace x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass Nullspace where
+  castOptionsFunctionality (Nullspace x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass Nullspace where
+  castSharedObject (Nullspace x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass Nullspace where
+  castIOInterfaceFunction (Nullspace x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Nullspace (Ptr Nullspace') where
+  marshal (Nullspace x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Nullspace x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Nullspace" 
+  c_delete_casadi__Nullspace :: FunPtr (Ptr Nullspace' -> IO ())
+instance WrapReturn (Ptr Nullspace') Nullspace where
+  wrapReturn = (fmap Nullspace) . (newForeignPtr c_delete_casadi__Nullspace)
+
+
+-- raw decl
+data OptionsFunctionality'
+-- data decl
+{-|
+-}
+newtype OptionsFunctionality = OptionsFunctionality (ForeignPtr OptionsFunctionality')
+-- typeclass decl
+class OptionsFunctionalityClass a where
+  castOptionsFunctionality :: a -> OptionsFunctionality
+instance OptionsFunctionalityClass OptionsFunctionality where
+  castOptionsFunctionality = id
+
+-- baseclass instances
+instance SharedObjectClass OptionsFunctionality where
+  castSharedObject (OptionsFunctionality x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal OptionsFunctionality (Ptr OptionsFunctionality') where
+  marshal (OptionsFunctionality x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (OptionsFunctionality x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__OptionsFunctionality" 
+  c_delete_casadi__OptionsFunctionality :: FunPtr (Ptr OptionsFunctionality' -> IO ())
+instance WrapReturn (Ptr OptionsFunctionality') OptionsFunctionality where
+  wrapReturn = (fmap OptionsFunctionality) . (newForeignPtr c_delete_casadi__OptionsFunctionality)
+
+
+-- raw decl
+data Parallelizer'
+-- data decl
+{-|
+-}
+newtype Parallelizer = Parallelizer (ForeignPtr Parallelizer')
+-- typeclass decl
+class ParallelizerClass a where
+  castParallelizer :: a -> Parallelizer
+instance ParallelizerClass Parallelizer where
+  castParallelizer = id
+
+-- baseclass instances
+instance FunctionClass Parallelizer where
+  castFunction (Parallelizer x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass Parallelizer where
+  castOptionsFunctionality (Parallelizer x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass Parallelizer where
+  castSharedObject (Parallelizer x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass Parallelizer where
+  castIOInterfaceFunction (Parallelizer x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Parallelizer (Ptr Parallelizer') where
+  marshal (Parallelizer x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Parallelizer x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Parallelizer" 
+  c_delete_casadi__Parallelizer :: FunPtr (Ptr Parallelizer' -> IO ())
+instance WrapReturn (Ptr Parallelizer') Parallelizer where
+  wrapReturn = (fmap Parallelizer) . (newForeignPtr c_delete_casadi__Parallelizer)
+
+
+-- raw decl
+data QcqpSolver'
+-- data decl
+{-|
+-}
+newtype QcqpSolver = QcqpSolver (ForeignPtr QcqpSolver')
+-- typeclass decl
+class QcqpSolverClass a where
+  castQcqpSolver :: a -> QcqpSolver
+instance QcqpSolverClass QcqpSolver where
+  castQcqpSolver = id
+
+-- baseclass instances
+instance FunctionClass QcqpSolver where
+  castFunction (QcqpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass QcqpSolver where
+  castOptionsFunctionality (QcqpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass QcqpSolver where
+  castSharedObject (QcqpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass QcqpSolver where
+  castIOInterfaceFunction (QcqpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal QcqpSolver (Ptr QcqpSolver') where
+  marshal (QcqpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (QcqpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__QcqpSolver" 
+  c_delete_casadi__QcqpSolver :: FunPtr (Ptr QcqpSolver' -> IO ())
+instance WrapReturn (Ptr QcqpSolver') QcqpSolver where
+  wrapReturn = (fmap QcqpSolver) . (newForeignPtr c_delete_casadi__QcqpSolver)
+
+
+-- raw decl
+data QpSolver'
+-- data decl
+{-|
+-}
+newtype QpSolver = QpSolver (ForeignPtr QpSolver')
+-- typeclass decl
+class QpSolverClass a where
+  castQpSolver :: a -> QpSolver
+instance QpSolverClass QpSolver where
+  castQpSolver = id
+
+-- baseclass instances
+instance FunctionClass QpSolver where
+  castFunction (QpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass QpSolver where
+  castOptionsFunctionality (QpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass QpSolver where
+  castSharedObject (QpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass QpSolver where
+  castIOInterfaceFunction (QpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal QpSolver (Ptr QpSolver') where
+  marshal (QpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (QpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__QpSolver" 
+  c_delete_casadi__QpSolver :: FunPtr (Ptr QpSolver' -> IO ())
+instance WrapReturn (Ptr QpSolver') QpSolver where
+  wrapReturn = (fmap QpSolver) . (newForeignPtr c_delete_casadi__QpSolver)
+
+
+-- raw decl
+data SX'
+-- data decl
+{-|
+-}
+newtype SX = SX (ForeignPtr SX')
+-- typeclass decl
+class SXClass a where
+  castSX :: a -> SX
+instance SXClass SX where
+  castSX = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal SX (Ptr SX') where
+  marshal (SX x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SX x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__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
+data SXElement'
+-- data decl
+{-|
+-}
+newtype SXElement = SXElement (ForeignPtr SXElement')
+-- typeclass decl
+class SXElementClass a where
+  castSXElement :: a -> SXElement
+instance SXElementClass SXElement where
+  castSXElement = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal SXElement (Ptr SXElement') where
+  marshal (SXElement x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SXElement x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__SXElement" 
+  c_delete_casadi__SXElement :: FunPtr (Ptr SXElement' -> IO ())
+instance WrapReturn (Ptr SXElement') SXElement where
+  wrapReturn = (fmap SXElement) . (newForeignPtr c_delete_casadi__SXElement)
+
+
+-- raw decl
+data SXFunction'
+-- data decl
+{-|
+-}
+newtype SXFunction = SXFunction (ForeignPtr SXFunction')
+-- typeclass decl
+class SXFunctionClass a where
+  castSXFunction :: a -> SXFunction
+instance SXFunctionClass SXFunction where
+  castSXFunction = id
+
+-- baseclass instances
+instance FunctionClass SXFunction where
+  castFunction (SXFunction x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass SXFunction where
+  castOptionsFunctionality (SXFunction x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass SXFunction where
+  castSharedObject (SXFunction x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass SXFunction where
+  castIOInterfaceFunction (SXFunction x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal SXFunction (Ptr SXFunction') where
+  marshal (SXFunction x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SXFunction x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__SXFunction" 
+  c_delete_casadi__SXFunction :: FunPtr (Ptr SXFunction' -> IO ())
+instance WrapReturn (Ptr SXFunction') SXFunction where
+  wrapReturn = (fmap SXFunction) . (newForeignPtr c_delete_casadi__SXFunction)
+
+
+-- raw decl
+data SdpSolver'
+-- data decl
+{-|
+-}
+newtype SdpSolver = SdpSolver (ForeignPtr SdpSolver')
+-- typeclass decl
+class SdpSolverClass a where
+  castSdpSolver :: a -> SdpSolver
+instance SdpSolverClass SdpSolver where
+  castSdpSolver = id
+
+-- baseclass instances
+instance FunctionClass SdpSolver where
+  castFunction (SdpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass SdpSolver where
+  castOptionsFunctionality (SdpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass SdpSolver where
+  castSharedObject (SdpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass SdpSolver where
+  castIOInterfaceFunction (SdpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal SdpSolver (Ptr SdpSolver') where
+  marshal (SdpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SdpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__SdpSolver" 
+  c_delete_casadi__SdpSolver :: FunPtr (Ptr SdpSolver' -> IO ())
+instance WrapReturn (Ptr SdpSolver') SdpSolver where
+  wrapReturn = (fmap SdpSolver) . (newForeignPtr c_delete_casadi__SdpSolver)
+
+
+-- raw decl
+data SdqpSolver'
+-- data decl
+{-|
+-}
+newtype SdqpSolver = SdqpSolver (ForeignPtr SdqpSolver')
+-- typeclass decl
+class SdqpSolverClass a where
+  castSdqpSolver :: a -> SdqpSolver
+instance SdqpSolverClass SdqpSolver where
+  castSdqpSolver = id
+
+-- baseclass instances
+instance FunctionClass SdqpSolver where
+  castFunction (SdqpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass SdqpSolver where
+  castOptionsFunctionality (SdqpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass SdqpSolver where
+  castSharedObject (SdqpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass SdqpSolver where
+  castIOInterfaceFunction (SdqpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal SdqpSolver (Ptr SdqpSolver') where
+  marshal (SdqpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SdqpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__SdqpSolver" 
+  c_delete_casadi__SdqpSolver :: FunPtr (Ptr SdqpSolver' -> IO ())
+instance WrapReturn (Ptr SdqpSolver') SdqpSolver where
+  wrapReturn = (fmap SdqpSolver) . (newForeignPtr c_delete_casadi__SdqpSolver)
+
+
+-- raw decl
+data SharedObject'
+-- data decl
+{-|
+-}
+newtype SharedObject = SharedObject (ForeignPtr SharedObject')
+-- typeclass decl
+class SharedObjectClass a where
+  castSharedObject :: a -> SharedObject
+instance SharedObjectClass SharedObject where
+  castSharedObject = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal SharedObject (Ptr SharedObject') where
+  marshal (SharedObject x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SharedObject x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__SharedObject" 
+  c_delete_casadi__SharedObject :: FunPtr (Ptr SharedObject' -> IO ())
+instance WrapReturn (Ptr SharedObject') SharedObject where
+  wrapReturn = (fmap SharedObject) . (newForeignPtr c_delete_casadi__SharedObject)
+
+
+-- raw decl
+data Simulator'
+-- data decl
+{-|
+-}
+newtype Simulator = Simulator (ForeignPtr Simulator')
+-- typeclass decl
+class SimulatorClass a where
+  castSimulator :: a -> Simulator
+instance SimulatorClass Simulator where
+  castSimulator = id
+
+-- baseclass instances
+instance FunctionClass Simulator where
+  castFunction (Simulator x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass Simulator where
+  castOptionsFunctionality (Simulator x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass Simulator where
+  castSharedObject (Simulator x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass Simulator where
+  castIOInterfaceFunction (Simulator x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Simulator (Ptr Simulator') where
+  marshal (Simulator x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Simulator x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Simulator" 
+  c_delete_casadi__Simulator :: FunPtr (Ptr Simulator' -> IO ())
+instance WrapReturn (Ptr Simulator') Simulator where
+  wrapReturn = (fmap Simulator) . (newForeignPtr c_delete_casadi__Simulator)
+
+
+-- raw decl
+data Slice'
+-- data decl
+{-|
+-}
+newtype Slice = Slice (ForeignPtr Slice')
+-- typeclass decl
+class SliceClass a where
+  castSlice :: a -> Slice
+instance SliceClass Slice where
+  castSlice = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal Slice (Ptr Slice') where
+  marshal (Slice x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Slice x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Slice" 
+  c_delete_casadi__Slice :: FunPtr (Ptr Slice' -> IO ())
+instance WrapReturn (Ptr Slice') Slice where
+  wrapReturn = (fmap Slice) . (newForeignPtr c_delete_casadi__Slice)
+
+
+-- raw decl
+data SocpSolver'
+-- data decl
+{-|
+-}
+newtype SocpSolver = SocpSolver (ForeignPtr SocpSolver')
+-- typeclass decl
+class SocpSolverClass a where
+  castSocpSolver :: a -> SocpSolver
+instance SocpSolverClass SocpSolver where
+  castSocpSolver = id
+
+-- baseclass instances
+instance FunctionClass SocpSolver where
+  castFunction (SocpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass SocpSolver where
+  castOptionsFunctionality (SocpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass SocpSolver where
+  castSharedObject (SocpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass SocpSolver where
+  castIOInterfaceFunction (SocpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal SocpSolver (Ptr SocpSolver') where
+  marshal (SocpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SocpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__SocpSolver" 
+  c_delete_casadi__SocpSolver :: FunPtr (Ptr SocpSolver' -> IO ())
+instance WrapReturn (Ptr SocpSolver') SocpSolver where
+  wrapReturn = (fmap SocpSolver) . (newForeignPtr c_delete_casadi__SocpSolver)
+
+
+-- raw decl
+data Sparsity'
+-- data decl
+{-|
+-}
+newtype Sparsity = Sparsity (ForeignPtr Sparsity')
+-- typeclass decl
+class SparsityClass a where
+  castSparsity :: a -> Sparsity
+instance SparsityClass Sparsity where
+  castSparsity = id
+
+-- baseclass instances
+instance SharedObjectClass Sparsity where
+  castSharedObject (Sparsity x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Sparsity (Ptr Sparsity') where
+  marshal (Sparsity x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Sparsity x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Sparsity" 
+  c_delete_casadi__Sparsity :: FunPtr (Ptr Sparsity' -> IO ())
+instance WrapReturn (Ptr Sparsity') Sparsity where
+  wrapReturn = (fmap Sparsity) . (newForeignPtr c_delete_casadi__Sparsity)
+
+
+-- raw decl
+data StabilizedQpSolver'
+-- data decl
+{-|
+-}
+newtype StabilizedQpSolver = StabilizedQpSolver (ForeignPtr StabilizedQpSolver')
+-- typeclass decl
+class StabilizedQpSolverClass a where
+  castStabilizedQpSolver :: a -> StabilizedQpSolver
+instance StabilizedQpSolverClass StabilizedQpSolver where
+  castStabilizedQpSolver = id
+
+-- baseclass instances
+instance FunctionClass StabilizedQpSolver where
+  castFunction (StabilizedQpSolver x) = Function (castForeignPtr x)
+
+instance OptionsFunctionalityClass StabilizedQpSolver where
+  castOptionsFunctionality (StabilizedQpSolver x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass StabilizedQpSolver where
+  castSharedObject (StabilizedQpSolver x) = SharedObject (castForeignPtr x)
+
+instance IOInterfaceFunctionClass StabilizedQpSolver where
+  castIOInterfaceFunction (StabilizedQpSolver x) = IOInterfaceFunction (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal StabilizedQpSolver (Ptr StabilizedQpSolver') where
+  marshal (StabilizedQpSolver x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (StabilizedQpSolver x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__StabilizedQpSolver" 
+  c_delete_casadi__StabilizedQpSolver :: FunPtr (Ptr StabilizedQpSolver' -> IO ())
+instance WrapReturn (Ptr StabilizedQpSolver') StabilizedQpSolver where
+  wrapReturn = (fmap StabilizedQpSolver) . (newForeignPtr c_delete_casadi__StabilizedQpSolver)
+
+
+-- raw decl
+data SymbolicNLP'
+-- data decl
+{-|
+-}
+newtype SymbolicNLP = SymbolicNLP (ForeignPtr SymbolicNLP')
+-- typeclass decl
+class SymbolicNLPClass a where
+  castSymbolicNLP :: a -> SymbolicNLP
+instance SymbolicNLPClass SymbolicNLP where
+  castSymbolicNLP = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal SymbolicNLP (Ptr SymbolicNLP') where
+  marshal (SymbolicNLP x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SymbolicNLP x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__SymbolicNLP" 
+  c_delete_casadi__SymbolicNLP :: FunPtr (Ptr SymbolicNLP' -> IO ())
+instance WrapReturn (Ptr SymbolicNLP') SymbolicNLP where
+  wrapReturn = (fmap SymbolicNLP) . (newForeignPtr c_delete_casadi__SymbolicNLP)
+
+
+-- raw decl
+data SymbolicOCP'
+-- data decl
+{-|
+-}
+newtype SymbolicOCP = SymbolicOCP (ForeignPtr SymbolicOCP')
+-- typeclass decl
+class SymbolicOCPClass a where
+  castSymbolicOCP :: a -> SymbolicOCP
+instance SymbolicOCPClass SymbolicOCP where
+  castSymbolicOCP = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal SymbolicOCP (Ptr SymbolicOCP') where
+  marshal (SymbolicOCP x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SymbolicOCP x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__SymbolicOCP" 
+  c_delete_casadi__SymbolicOCP :: FunPtr (Ptr SymbolicOCP' -> IO ())
+instance WrapReturn (Ptr SymbolicOCP') SymbolicOCP where
+  wrapReturn = (fmap SymbolicOCP) . (newForeignPtr c_delete_casadi__SymbolicOCP)
+
+
+-- raw decl
+data Variable'
+-- data decl
+{-|
+-}
+newtype Variable = Variable (ForeignPtr Variable')
+-- typeclass decl
+class VariableClass a where
+  castVariable :: a -> Variable
+instance VariableClass Variable where
+  castVariable = id
+
+-- baseclass instances
+
+-- helper instances
+instance Marshal Variable (Ptr Variable') where
+  marshal (Variable x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Variable x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Variable" 
+  c_delete_casadi__Variable :: FunPtr (Ptr Variable' -> IO ())
+instance WrapReturn (Ptr Variable') Variable where
+  wrapReturn = (fmap Variable) . (newForeignPtr c_delete_casadi__Variable)
+
+
+-- raw decl
+data XmlFile'
+-- data decl
+{-|
+-}
+newtype XmlFile = XmlFile (ForeignPtr XmlFile')
+-- typeclass decl
+class XmlFileClass a where
+  castXmlFile :: a -> XmlFile
+instance XmlFileClass XmlFile where
+  castXmlFile = id
+
+-- baseclass instances
+instance OptionsFunctionalityClass XmlFile where
+  castOptionsFunctionality (XmlFile x) = OptionsFunctionality (castForeignPtr x)
+
+instance SharedObjectClass XmlFile where
+  castSharedObject (XmlFile x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal XmlFile (Ptr XmlFile') where
+  marshal (XmlFile x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (XmlFile x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__XmlFile" 
+  c_delete_casadi__XmlFile :: FunPtr (Ptr XmlFile' -> IO ())
+instance WrapReturn (Ptr XmlFile') XmlFile where
+  wrapReturn = (fmap XmlFile) . (newForeignPtr c_delete_casadi__XmlFile)
+
+
+-- raw decl
+data IOInterfaceFunction'
+-- data decl
+{-|
 -}
 newtype IOInterfaceFunction = IOInterfaceFunction (ForeignPtr IOInterfaceFunction')
 -- typeclass decl
diff --git a/Casadi/Core/Enums.hs b/Casadi/Core/Enums.hs
--- a/Casadi/Core/Enums.hs
+++ b/Casadi/Core/Enums.hs
@@ -68,7 +68,6 @@
          SOCPStruct(..),
          SparsityType(..),
          StabilizedQpSolverInput(..),
-         Type(..),
          Variability(..),
        ) where
 
@@ -2038,27 +2037,6 @@
 instance WrapReturn CInt StabilizedQpSolverInput where
         wrapReturn = return . toEnum . fromIntegral
 
--- EnumDecl: Type
-data Type = INT
-          | IVECTOR
-          | NILL
-          | SLICE
-          deriving (Show, Eq)
-instance Enum Type where
-        fromEnum (INT) = 1
-        fromEnum (IVECTOR) = 3
-        fromEnum (NILL) = 0
-        fromEnum (SLICE) = 2
-        toEnum (1) = INT
-        toEnum (3) = IVECTOR
-        toEnum (0) = NILL
-        toEnum (2) = SLICE
-        toEnum k = error $ "Type: toEnum: got unhandled number: " ++ show k
-instance Marshal Type CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Type where
-        wrapReturn = return . toEnum . fromIntegral
-
 -- EnumDecl: Variability
 data Variability = CONSTANT
                  | CONTINUOUS
@@ -2090,6 +2068,7 @@
               | OT_FUNCTION
               | OT_INTEGER
               | OT_INTEGERVECTOR
+              | OT_INTEGERVECTORVECTOR
               | OT_REAL
               | OT_REALVECTOR
               | OT_STRING
@@ -2099,33 +2078,35 @@
               deriving (Show, Eq)
 instance Enum Opt_type where
         fromEnum (OT_BOOLEAN) = 0
-        fromEnum (OT_BOOLVECTOR) = 5
-        fromEnum (OT_CALLBACK) = 11
-        fromEnum (OT_DERIVATIVEGENERATOR) = 9
-        fromEnum (OT_DICTIONARY) = 8
-        fromEnum (OT_FUNCTION) = 10
+        fromEnum (OT_BOOLVECTOR) = 6
+        fromEnum (OT_CALLBACK) = 12
+        fromEnum (OT_DERIVATIVEGENERATOR) = 10
+        fromEnum (OT_DICTIONARY) = 9
+        fromEnum (OT_FUNCTION) = 11
         fromEnum (OT_INTEGER) = 1
         fromEnum (OT_INTEGERVECTOR) = 4
+        fromEnum (OT_INTEGERVECTORVECTOR) = 5
         fromEnum (OT_REAL) = 2
-        fromEnum (OT_REALVECTOR) = 6
+        fromEnum (OT_REALVECTOR) = 7
         fromEnum (OT_STRING) = 3
-        fromEnum (OT_STRINGVECTOR) = 7
-        fromEnum (OT_UNKNOWN) = 13
-        fromEnum (OT_VOIDPTR) = 12
+        fromEnum (OT_STRINGVECTOR) = 8
+        fromEnum (OT_UNKNOWN) = 14
+        fromEnum (OT_VOIDPTR) = 13
         toEnum (0) = OT_BOOLEAN
-        toEnum (5) = OT_BOOLVECTOR
-        toEnum (11) = OT_CALLBACK
-        toEnum (9) = OT_DERIVATIVEGENERATOR
-        toEnum (8) = OT_DICTIONARY
-        toEnum (10) = OT_FUNCTION
+        toEnum (6) = OT_BOOLVECTOR
+        toEnum (12) = OT_CALLBACK
+        toEnum (10) = OT_DERIVATIVEGENERATOR
+        toEnum (9) = OT_DICTIONARY
+        toEnum (11) = OT_FUNCTION
         toEnum (1) = OT_INTEGER
         toEnum (4) = OT_INTEGERVECTOR
+        toEnum (5) = OT_INTEGERVECTORVECTOR
         toEnum (2) = OT_REAL
-        toEnum (6) = OT_REALVECTOR
+        toEnum (7) = OT_REALVECTOR
         toEnum (3) = OT_STRING
-        toEnum (7) = OT_STRINGVECTOR
-        toEnum (13) = OT_UNKNOWN
-        toEnum (12) = OT_VOIDPTR
+        toEnum (8) = OT_STRINGVECTOR
+        toEnum (14) = OT_UNKNOWN
+        toEnum (13) = OT_VOIDPTR
         toEnum k
           = error $ "Opt_type: toEnum: got unhandled number: " ++ show k
 instance Marshal Opt_type CInt where
diff --git a/Casadi/Core/Tools.hs b/Casadi/Core/Tools.hs
--- a/Casadi/Core/Tools.hs
+++ b/Casadi/Core/Tools.hs
@@ -2,27311 +2,20451 @@
 
 module Casadi.Core.Tools
        (
-         addMultiple__0,
-         addMultiple__1,
-         addMultiple__2,
-         addMultiple__3,
-         addMultiple__4,
-         addMultiple__5,
-         adj__0,
-         adj__1,
-         adj__2,
-         blkdiag__0,
-         blkdiag__1,
-         blkdiag__2,
-         blkdiag__3,
-         blkdiag__4,
-         blockcat__0,
-         blockcat__1,
-         blockcat__2,
-         blockcat__3,
-         blockcat__4,
-         blocksplit__0,
-         blocksplit__1,
-         blocksplit__10,
-         blocksplit__11,
-         blocksplit__12,
-         blocksplit__13,
-         blocksplit__14,
-         blocksplit__15,
-         blocksplit__2,
-         blocksplit__3,
-         blocksplit__4,
-         blocksplit__5,
-         blocksplit__6,
-         blocksplit__7,
-         blocksplit__8,
-         blocksplit__9,
-         cleIn__0,
-         cleIn__1,
-         cleIn__10,
-         cleIn__11,
-         cleIn__2,
-         cleIn__3,
-         cleIn__4,
-         cleIn__5,
-         cleIn__6,
-         cleIn__7,
-         cleIn__8,
-         cleIn__9,
-         cleOut__0,
-         cleOut__1,
-         cleOut__2,
-         cleOut__3,
-         cleOut__4,
-         cleOut__5,
-         cleOut__6,
-         cleOut__7,
-         cleStruct__0,
-         cleStruct__1,
-         cleStruct__2,
-         cleStruct__3,
-         cofactor__0,
-         cofactor__1,
-         cofactor__2,
-         collocationPoints__0,
-         collocationPoints__1,
-         complement,
-         compress__0,
-         compress__1,
-         controldaeIn__0,
-         controldaeIn__1,
-         controldaeIn__10,
-         controldaeIn__11,
-         controldaeIn__12,
-         controldaeIn__13,
-         controldaeIn__14,
-         controldaeIn__15,
-         controldaeIn__16,
-         controldaeIn__17,
-         controldaeIn__18,
-         controldaeIn__19,
-         controldaeIn__2,
-         controldaeIn__20,
-         controldaeIn__21,
-         controldaeIn__22,
-         controldaeIn__23,
-         controldaeIn__24,
-         controldaeIn__25,
-         controldaeIn__26,
-         controldaeIn__27,
-         controldaeIn__28,
-         controldaeIn__29,
-         controldaeIn__3,
-         controldaeIn__30,
-         controldaeIn__31,
-         controldaeIn__32,
-         controldaeIn__33,
-         controldaeIn__34,
-         controldaeIn__35,
-         controldaeIn__36,
-         controldaeIn__37,
-         controldaeIn__38,
-         controldaeIn__39,
-         controldaeIn__4,
-         controldaeIn__5,
-         controldaeIn__6,
-         controldaeIn__7,
-         controldaeIn__8,
-         controldaeIn__9,
-         controlsimulatorIn__0,
-         controlsimulatorIn__1,
-         controlsimulatorIn__10,
-         controlsimulatorIn__11,
-         controlsimulatorIn__12,
-         controlsimulatorIn__13,
-         controlsimulatorIn__14,
-         controlsimulatorIn__15,
-         controlsimulatorIn__2,
-         controlsimulatorIn__3,
-         controlsimulatorIn__4,
-         controlsimulatorIn__5,
-         controlsimulatorIn__6,
-         controlsimulatorIn__7,
-         controlsimulatorIn__8,
-         controlsimulatorIn__9,
-         countNodes__0,
-         countNodes__1,
-         createParent__0,
-         createParent__1,
-         createParent__2,
-         cross__0,
-         cross__1,
-         cross__2,
-         cross__3,
-         cross__4,
-         cross__5,
-         cross__6,
-         cross__7,
-         daeIn__0,
-         daeIn__1,
-         daeIn__10,
-         daeIn__11,
-         daeIn__12,
-         daeIn__13,
-         daeIn__14,
-         daeIn__15,
-         daeIn__16,
-         daeIn__17,
-         daeIn__18,
-         daeIn__19,
-         daeIn__2,
-         daeIn__3,
-         daeIn__4,
-         daeIn__5,
-         daeIn__6,
-         daeIn__7,
-         daeIn__8,
-         daeIn__9,
-         daeOut__0,
-         daeOut__1,
-         daeOut__10,
-         daeOut__11,
-         daeOut__12,
-         daeOut__13,
-         daeOut__14,
-         daeOut__15,
-         daeOut__2,
-         daeOut__3,
-         daeOut__4,
-         daeOut__5,
-         daeOut__6,
-         daeOut__7,
-         daeOut__8,
-         daeOut__9,
-         dense__0,
-         dense__1,
-         dense__2,
-         dense__3,
-         dependsOn__0,
-         dependsOn__1,
-         det__0,
-         det__1,
-         det__2,
-         det__3,
-         diag__0,
-         diag__1,
-         diag__2,
-         diag__3,
-         diagcat,
-         diagsplit__0,
-         diagsplit__1,
-         diagsplit__10,
-         diagsplit__11,
-         diagsplit__12,
-         diagsplit__13,
-         diagsplit__14,
-         diagsplit__15,
-         diagsplit__16,
-         diagsplit__17,
-         diagsplit__18,
-         diagsplit__19,
-         diagsplit__2,
-         diagsplit__20,
-         diagsplit__21,
-         diagsplit__3,
-         diagsplit__4,
-         diagsplit__5,
-         diagsplit__6,
-         diagsplit__7,
-         diagsplit__8,
-         diagsplit__9,
-         dleIn__0,
-         dleIn__1,
-         dleIn__10,
-         dleIn__11,
-         dleIn__2,
-         dleIn__3,
-         dleIn__4,
-         dleIn__5,
-         dleIn__6,
-         dleIn__7,
-         dleIn__8,
-         dleIn__9,
-         dleOut__0,
-         dleOut__1,
-         dleOut__2,
-         dleOut__3,
-         dleOut__4,
-         dleOut__5,
-         dleOut__6,
-         dleOut__7,
-         dleStruct__0,
-         dleStruct__1,
-         dleStruct__2,
-         dpleIn__0,
-         dpleIn__1,
-         dpleIn__10,
-         dpleIn__11,
-         dpleIn__2,
-         dpleIn__3,
-         dpleIn__4,
-         dpleIn__5,
-         dpleIn__6,
-         dpleIn__7,
-         dpleIn__8,
-         dpleIn__9,
-         dpleOut__0,
-         dpleOut__1,
-         dpleOut__2,
-         dpleOut__3,
-         dpleOut__4,
-         dpleOut__5,
-         dpleOut__6,
-         dpleOut__7,
-         dpleStruct__0,
-         dpleStruct__1,
-         dpleStruct__2,
-         eig_symbolic,
-         evalf__0,
-         evalf__1,
-         expand,
-         explicitRK__0,
-         explicitRK__1,
-         explicitRK__2,
-         explicitRK__3,
-         extractShared__0,
-         extractShared__1,
-         extractShared__2,
-         extractShared__3,
-         extractShared__4,
-         extractShared__5,
-         gauss_quadrature__0,
-         gauss_quadrature__1,
-         gauss_quadrature__2,
-         getFree,
-         getMinor__0,
-         getMinor__1,
-         getMinor__2,
-         getOperatorRepresentation__0,
-         getOperatorRepresentation__1,
-         getSchemeEntryDoc,
-         getSchemeEntryEnum,
-         getSchemeEntryEnumName,
-         getSchemeEntryName,
-         getSchemeEntryNames,
-         getSchemeName,
-         getSchemeSize,
-         getSymbols__0,
-         getSymbols__1,
-         getSymbols__2,
-         gradFIn__0,
-         gradFIn__1,
-         gradFIn__10,
-         gradFIn__11,
-         gradFIn__2,
-         gradFIn__3,
-         gradFIn__4,
-         gradFIn__5,
-         gradFIn__6,
-         gradFIn__7,
-         gradFIn__8,
-         gradFIn__9,
-         gradFOut__0,
-         gradFOut__1,
-         gradFOut__10,
-         gradFOut__11,
-         gradFOut__12,
-         gradFOut__13,
-         gradFOut__14,
-         gradFOut__15,
-         gradFOut__2,
-         gradFOut__3,
-         gradFOut__4,
-         gradFOut__5,
-         gradFOut__6,
-         gradFOut__7,
-         gradFOut__8,
-         gradFOut__9,
-         gradient__0,
-         gradient__1,
-         graph_substitute__0,
-         graph_substitute__1,
-         heaviside,
-         hessLagIn__0,
-         hessLagIn__1,
-         hessLagIn__10,
-         hessLagIn__11,
-         hessLagIn__12,
-         hessLagIn__13,
-         hessLagIn__14,
-         hessLagIn__15,
-         hessLagIn__16,
-         hessLagIn__17,
-         hessLagIn__18,
-         hessLagIn__19,
-         hessLagIn__2,
-         hessLagIn__3,
-         hessLagIn__4,
-         hessLagIn__5,
-         hessLagIn__6,
-         hessLagIn__7,
-         hessLagIn__8,
-         hessLagIn__9,
-         hessLagOut__0,
-         hessLagOut__1,
-         hessLagOut__10,
-         hessLagOut__11,
-         hessLagOut__12,
-         hessLagOut__13,
-         hessLagOut__14,
-         hessLagOut__15,
-         hessLagOut__16,
-         hessLagOut__17,
-         hessLagOut__18,
-         hessLagOut__19,
-         hessLagOut__2,
-         hessLagOut__20,
-         hessLagOut__21,
-         hessLagOut__22,
-         hessLagOut__23,
-         hessLagOut__3,
-         hessLagOut__4,
-         hessLagOut__5,
-         hessLagOut__6,
-         hessLagOut__7,
-         hessLagOut__8,
-         hessLagOut__9,
-         hessian__0,
-         hessian__1,
-         hnlpIn__0,
-         hnlpIn__1,
-         hnlpIn__10,
-         hnlpIn__11,
-         hnlpIn__12,
-         hnlpIn__13,
-         hnlpIn__14,
-         hnlpIn__15,
-         hnlpIn__2,
-         hnlpIn__3,
-         hnlpIn__4,
-         hnlpIn__5,
-         hnlpIn__6,
-         hnlpIn__7,
-         hnlpIn__8,
-         hnlpIn__9,
-         horzcat__0,
-         horzcat__1,
-         horzcat__2,
-         horzcat__3,
-         horzcat__4,
-         horzsplit__0,
-         horzsplit__1,
-         horzsplit__10,
-         horzsplit__11,
-         horzsplit__12,
-         horzsplit__2,
-         horzsplit__3,
-         horzsplit__4,
-         horzsplit__5,
-         horzsplit__6,
-         horzsplit__7,
-         horzsplit__8,
-         horzsplit__9,
-         if_else__0,
-         if_else__1,
-         implicitRK,
-         inner_prod__0,
-         inner_prod__1,
-         inner_prod__2,
-         inner_prod__3,
-         integratorIn__0,
-         integratorIn__1,
-         integratorIn__10,
-         integratorIn__11,
-         integratorIn__12,
-         integratorIn__13,
-         integratorIn__14,
-         integratorIn__15,
-         integratorIn__16,
-         integratorIn__17,
-         integratorIn__18,
-         integratorIn__19,
-         integratorIn__2,
-         integratorIn__20,
-         integratorIn__21,
-         integratorIn__22,
-         integratorIn__23,
-         integratorIn__24,
-         integratorIn__25,
-         integratorIn__26,
-         integratorIn__27,
-         integratorIn__3,
-         integratorIn__4,
-         integratorIn__5,
-         integratorIn__6,
-         integratorIn__7,
-         integratorIn__8,
-         integratorIn__9,
-         integratorOut__0,
-         integratorOut__1,
-         integratorOut__10,
-         integratorOut__11,
-         integratorOut__12,
-         integratorOut__13,
-         integratorOut__14,
-         integratorOut__15,
-         integratorOut__16,
-         integratorOut__17,
-         integratorOut__18,
-         integratorOut__19,
-         integratorOut__2,
-         integratorOut__20,
-         integratorOut__21,
-         integratorOut__22,
-         integratorOut__23,
-         integratorOut__24,
-         integratorOut__25,
-         integratorOut__26,
-         integratorOut__27,
-         integratorOut__3,
-         integratorOut__4,
-         integratorOut__5,
-         integratorOut__6,
-         integratorOut__7,
-         integratorOut__8,
-         integratorOut__9,
-         inv__0,
-         inv__1,
-         inv__2,
-         inv__3,
-         isDecreasing__0,
-         isDecreasing__1,
-         isEqual__0,
-         isEqual__1,
-         isEqual__2,
-         isEqual__3,
-         isIncreasing__0,
-         isIncreasing__1,
-         isMonotone__0,
-         isMonotone__1,
-         isNonDecreasing__0,
-         isNonDecreasing__1,
-         isNonIncreasing__0,
-         isNonIncreasing__1,
-         isRegular__0,
-         isRegular__1,
-         isStrictlyMonotone__0,
-         isStrictlyMonotone__1,
-         jacGIn__0,
-         jacGIn__1,
-         jacGIn__10,
-         jacGIn__11,
-         jacGIn__2,
-         jacGIn__3,
-         jacGIn__4,
-         jacGIn__5,
-         jacGIn__6,
-         jacGIn__7,
-         jacGIn__8,
-         jacGIn__9,
-         jacGOut__0,
-         jacGOut__1,
-         jacGOut__10,
-         jacGOut__11,
-         jacGOut__12,
-         jacGOut__13,
-         jacGOut__14,
-         jacGOut__15,
-         jacGOut__2,
-         jacGOut__3,
-         jacGOut__4,
-         jacGOut__5,
-         jacGOut__6,
-         jacGOut__7,
-         jacGOut__8,
-         jacGOut__9,
-         jacobianTimesVector__0,
-         jacobianTimesVector__1,
-         jacobian__0,
-         jacobian__1,
-         kron__0,
-         kron__1,
-         kron__2,
-         kron__3,
-         linsolIn__0,
-         linsolIn__1,
-         linsolIn__10,
-         linsolIn__11,
-         linsolIn__2,
-         linsolIn__3,
-         linsolIn__4,
-         linsolIn__5,
-         linsolIn__6,
-         linsolIn__7,
-         linsolIn__8,
-         linsolIn__9,
-         linsolOut__0,
-         linsolOut__1,
-         linsolOut__2,
-         linsolOut__3,
-         linsolOut__4,
-         linsolOut__5,
-         linsolOut__6,
-         linsolOut__7,
-         linspace__0,
-         linspace__1,
-         linspace__2,
-         logic_and__0,
-         logic_and__1,
-         logic_and__2,
-         logic_and__3,
-         logic_and__4,
-         logic_and__5,
-         logic_and__6,
-         logic_not__0,
-         logic_not__1,
-         logic_not__2,
-         logic_not__3,
-         logic_not__4,
-         logic_not__5,
-         logic_not__6,
-         logic_or__0,
-         logic_or__1,
-         logic_or__2,
-         logic_or__3,
-         logic_or__4,
-         logic_or__5,
-         logic_or__6,
-         lookupvector,
-         lpIn__0,
-         lpIn__1,
-         lpIn__10,
-         lpIn__11,
-         lpIn__12,
-         lpIn__13,
-         lpIn__14,
-         lpIn__15,
-         lpIn__16,
-         lpIn__17,
-         lpIn__18,
-         lpIn__19,
-         lpIn__2,
-         lpIn__20,
-         lpIn__21,
-         lpIn__22,
-         lpIn__23,
-         lpIn__24,
-         lpIn__25,
-         lpIn__26,
-         lpIn__27,
-         lpIn__3,
-         lpIn__4,
-         lpIn__5,
-         lpIn__6,
-         lpIn__7,
-         lpIn__8,
-         lpIn__9,
-         lpOut__0,
-         lpOut__1,
-         lpOut__10,
-         lpOut__11,
-         lpOut__12,
-         lpOut__13,
-         lpOut__14,
-         lpOut__15,
-         lpOut__16,
-         lpOut__17,
-         lpOut__18,
-         lpOut__19,
-         lpOut__2,
-         lpOut__3,
-         lpOut__4,
-         lpOut__5,
-         lpOut__6,
-         lpOut__7,
-         lpOut__8,
-         lpOut__9,
-         lpStruct__0,
-         lpStruct__1,
-         lrdleIn__0,
-         lrdleIn__1,
-         lrdleIn__10,
-         lrdleIn__11,
-         lrdleIn__12,
-         lrdleIn__13,
-         lrdleIn__14,
-         lrdleIn__15,
-         lrdleIn__16,
-         lrdleIn__17,
-         lrdleIn__18,
-         lrdleIn__19,
-         lrdleIn__2,
-         lrdleIn__3,
-         lrdleIn__4,
-         lrdleIn__5,
-         lrdleIn__6,
-         lrdleIn__7,
-         lrdleIn__8,
-         lrdleIn__9,
-         lrdleOut__0,
-         lrdleOut__1,
-         lrdleOut__2,
-         lrdleOut__3,
-         lrdleOut__4,
-         lrdleOut__5,
-         lrdleOut__6,
-         lrdleOut__7,
-         lrdleStruct__0,
-         lrdleStruct__1,
-         lrdleStruct__2,
-         lrdleStruct__3,
-         lrdleStruct__4,
-         lrdpleIn__0,
-         lrdpleIn__1,
-         lrdpleIn__10,
-         lrdpleIn__11,
-         lrdpleIn__12,
-         lrdpleIn__13,
-         lrdpleIn__14,
-         lrdpleIn__15,
-         lrdpleIn__16,
-         lrdpleIn__17,
-         lrdpleIn__18,
-         lrdpleIn__19,
-         lrdpleIn__2,
-         lrdpleIn__3,
-         lrdpleIn__4,
-         lrdpleIn__5,
-         lrdpleIn__6,
-         lrdpleIn__7,
-         lrdpleIn__8,
-         lrdpleIn__9,
-         lrdpleOut__0,
-         lrdpleOut__1,
-         lrdpleOut__2,
-         lrdpleOut__3,
-         lrdpleOut__4,
-         lrdpleOut__5,
-         lrdpleOut__6,
-         lrdpleOut__7,
-         lrdpleStruct__0,
-         lrdpleStruct__1,
-         lrdpleStruct__2,
-         lrdpleStruct__3,
-         lrdpleStruct__4,
-         matrix_expand__0,
-         matrix_expand__1,
-         matrix_expand__2,
-         matrix_expand__3,
-         mtaylor__0,
-         mtaylor__1,
-         mtaylor__2,
-         mul__0,
-         mul__1,
-         mul__10,
-         mul__11,
-         mul__12,
-         mul__13,
-         mul__2,
-         mul__3,
-         mul__4,
-         mul__5,
-         mul__6,
-         mul__7,
-         mul__8,
-         mul__9,
-         nlpIn__0,
-         nlpIn__1,
-         nlpIn__10,
-         nlpIn__11,
-         nlpIn__2,
-         nlpIn__3,
-         nlpIn__4,
-         nlpIn__5,
-         nlpIn__6,
-         nlpIn__7,
-         nlpIn__8,
-         nlpIn__9,
-         nlpOut__0,
-         nlpOut__1,
-         nlpOut__10,
-         nlpOut__11,
-         nlpOut__2,
-         nlpOut__3,
-         nlpOut__4,
-         nlpOut__5,
-         nlpOut__6,
-         nlpOut__7,
-         nlpOut__8,
-         nlpOut__9,
-         nlpSolverIn__0,
-         nlpSolverIn__1,
-         nlpSolverIn__10,
-         nlpSolverIn__11,
-         nlpSolverIn__12,
-         nlpSolverIn__13,
-         nlpSolverIn__14,
-         nlpSolverIn__15,
-         nlpSolverIn__16,
-         nlpSolverIn__17,
-         nlpSolverIn__18,
-         nlpSolverIn__19,
-         nlpSolverIn__2,
-         nlpSolverIn__20,
-         nlpSolverIn__21,
-         nlpSolverIn__22,
-         nlpSolverIn__23,
-         nlpSolverIn__24,
-         nlpSolverIn__25,
-         nlpSolverIn__26,
-         nlpSolverIn__27,
-         nlpSolverIn__28,
-         nlpSolverIn__29,
-         nlpSolverIn__3,
-         nlpSolverIn__30,
-         nlpSolverIn__31,
-         nlpSolverIn__32,
-         nlpSolverIn__33,
-         nlpSolverIn__34,
-         nlpSolverIn__35,
-         nlpSolverIn__4,
-         nlpSolverIn__5,
-         nlpSolverIn__6,
-         nlpSolverIn__7,
-         nlpSolverIn__8,
-         nlpSolverIn__9,
-         nlpSolverOut__0,
-         nlpSolverOut__1,
-         nlpSolverOut__10,
-         nlpSolverOut__11,
-         nlpSolverOut__12,
-         nlpSolverOut__13,
-         nlpSolverOut__14,
-         nlpSolverOut__15,
-         nlpSolverOut__16,
-         nlpSolverOut__17,
-         nlpSolverOut__18,
-         nlpSolverOut__19,
-         nlpSolverOut__2,
-         nlpSolverOut__20,
-         nlpSolverOut__21,
-         nlpSolverOut__22,
-         nlpSolverOut__23,
-         nlpSolverOut__24,
-         nlpSolverOut__25,
-         nlpSolverOut__26,
-         nlpSolverOut__27,
-         nlpSolverOut__3,
-         nlpSolverOut__4,
-         nlpSolverOut__5,
-         nlpSolverOut__6,
-         nlpSolverOut__7,
-         nlpSolverOut__8,
-         nlpSolverOut__9,
-         norm_0_mul_nn__0,
-         norm_0_mul_nn__1,
-         norm_0_mul_nn__2,
-         norm_1__0,
-         norm_1__1,
-         norm_1__2,
-         norm_1__3,
-         norm_2__0,
-         norm_2__1,
-         norm_2__2,
-         norm_2__3,
-         norm_F__0,
-         norm_F__1,
-         norm_F__2,
-         norm_F__3,
-         norm_inf__0,
-         norm_inf__1,
-         norm_inf__2,
-         norm_inf__3,
-         norm_inf_mul_nn,
-         nullspace__0,
-         nullspace__1,
-         nullspace__2,
-         nullspace__3,
-         outer_prod__0,
-         outer_prod__1,
-         outer_prod__2,
-         outer_prod__3,
-         pinv__0,
-         pinv__1,
-         pinv__2,
-         pinv__3,
-         pinv__4,
-         poly_coeff,
-         poly_roots,
-         polyval__0,
-         polyval__1,
-         polyval__2,
-         polyval__3,
-         printCompact__0,
-         printCompact__1,
-         project__0,
-         project__1,
-         project__2,
-         pw_const,
-         pw_lin,
-         qcqpIn__0,
-         qcqpIn__1,
-         qcqpIn__10,
-         qcqpIn__11,
-         qcqpIn__12,
-         qcqpIn__13,
-         qcqpIn__14,
-         qcqpIn__15,
-         qcqpIn__16,
-         qcqpIn__17,
-         qcqpIn__18,
-         qcqpIn__19,
-         qcqpIn__2,
-         qcqpIn__20,
-         qcqpIn__21,
-         qcqpIn__22,
-         qcqpIn__23,
-         qcqpIn__24,
-         qcqpIn__25,
-         qcqpIn__26,
-         qcqpIn__27,
-         qcqpIn__28,
-         qcqpIn__29,
-         qcqpIn__3,
-         qcqpIn__30,
-         qcqpIn__31,
-         qcqpIn__32,
-         qcqpIn__33,
-         qcqpIn__34,
-         qcqpIn__35,
-         qcqpIn__36,
-         qcqpIn__37,
-         qcqpIn__38,
-         qcqpIn__39,
-         qcqpIn__4,
-         qcqpIn__40,
-         qcqpIn__41,
-         qcqpIn__42,
-         qcqpIn__43,
-         qcqpIn__44,
-         qcqpIn__45,
-         qcqpIn__46,
-         qcqpIn__47,
-         qcqpIn__48,
-         qcqpIn__49,
-         qcqpIn__5,
-         qcqpIn__50,
-         qcqpIn__51,
-         qcqpIn__6,
-         qcqpIn__7,
-         qcqpIn__8,
-         qcqpIn__9,
-         qcqpOut__0,
-         qcqpOut__1,
-         qcqpOut__10,
-         qcqpOut__11,
-         qcqpOut__12,
-         qcqpOut__13,
-         qcqpOut__14,
-         qcqpOut__15,
-         qcqpOut__16,
-         qcqpOut__17,
-         qcqpOut__18,
-         qcqpOut__19,
-         qcqpOut__2,
-         qcqpOut__3,
-         qcqpOut__4,
-         qcqpOut__5,
-         qcqpOut__6,
-         qcqpOut__7,
-         qcqpOut__8,
-         qcqpOut__9,
-         qcqpStruct__0,
-         qcqpStruct__1,
-         qcqpStruct__2,
-         qcqpStruct__3,
-         qpIn__0,
-         qpIn__1,
-         qpIn__10,
-         qpIn__11,
-         qpIn__12,
-         qpIn__13,
-         qpIn__14,
-         qpIn__15,
-         qpIn__16,
-         qpIn__17,
-         qpIn__18,
-         qpIn__19,
-         qpIn__2,
-         qpIn__20,
-         qpIn__21,
-         qpIn__22,
-         qpIn__23,
-         qpIn__24,
-         qpIn__25,
-         qpIn__26,
-         qpIn__27,
-         qpIn__28,
-         qpIn__29,
-         qpIn__3,
-         qpIn__30,
-         qpIn__31,
-         qpIn__32,
-         qpIn__33,
-         qpIn__34,
-         qpIn__35,
-         qpIn__36,
-         qpIn__37,
-         qpIn__38,
-         qpIn__39,
-         qpIn__4,
-         qpIn__5,
-         qpIn__6,
-         qpIn__7,
-         qpIn__8,
-         qpIn__9,
-         qpOut__0,
-         qpOut__1,
-         qpOut__10,
-         qpOut__11,
-         qpOut__12,
-         qpOut__13,
-         qpOut__14,
-         qpOut__15,
-         qpOut__16,
-         qpOut__17,
-         qpOut__18,
-         qpOut__19,
-         qpOut__2,
-         qpOut__3,
-         qpOut__4,
-         qpOut__5,
-         qpOut__6,
-         qpOut__7,
-         qpOut__8,
-         qpOut__9,
-         qpStruct__0,
-         qpStruct__1,
-         qpStruct__2,
-         quad_form__0,
-         quad_form__1,
-         quad_form__2,
-         quad_form__3,
-         quad_form__4,
-         quad_form__5,
-         quad_form__6,
-         quad_form__7,
-         ramp,
-         rank,
-         rdaeIn__0,
-         rdaeIn__1,
-         rdaeIn__10,
-         rdaeIn__11,
-         rdaeIn__12,
-         rdaeIn__13,
-         rdaeIn__14,
-         rdaeIn__15,
-         rdaeIn__16,
-         rdaeIn__17,
-         rdaeIn__18,
-         rdaeIn__19,
-         rdaeIn__2,
-         rdaeIn__20,
-         rdaeIn__21,
-         rdaeIn__22,
-         rdaeIn__23,
-         rdaeIn__24,
-         rdaeIn__25,
-         rdaeIn__26,
-         rdaeIn__27,
-         rdaeIn__28,
-         rdaeIn__29,
-         rdaeIn__3,
-         rdaeIn__30,
-         rdaeIn__31,
-         rdaeIn__4,
-         rdaeIn__5,
-         rdaeIn__6,
-         rdaeIn__7,
-         rdaeIn__8,
-         rdaeIn__9,
-         rdaeOut__0,
-         rdaeOut__1,
-         rdaeOut__10,
-         rdaeOut__11,
-         rdaeOut__12,
-         rdaeOut__13,
-         rdaeOut__14,
-         rdaeOut__15,
-         rdaeOut__2,
-         rdaeOut__3,
-         rdaeOut__4,
-         rdaeOut__5,
-         rdaeOut__6,
-         rdaeOut__7,
-         rdaeOut__8,
-         rdaeOut__9,
-         rectangle,
-         repmat__0,
-         repmat__1,
-         repmat__2,
-         repmat__3,
-         reshape__0,
-         reshape__1,
-         reshape__2,
-         reshape__3,
-         reshape__4,
-         reshape__5,
-         reshape__6,
-         reshape__7,
-         sdpIn__0,
-         sdpIn__1,
-         sdpIn__10,
-         sdpIn__11,
-         sdpIn__12,
-         sdpIn__13,
-         sdpIn__14,
-         sdpIn__15,
-         sdpIn__16,
-         sdpIn__17,
-         sdpIn__18,
-         sdpIn__19,
-         sdpIn__2,
-         sdpIn__20,
-         sdpIn__21,
-         sdpIn__22,
-         sdpIn__23,
-         sdpIn__24,
-         sdpIn__25,
-         sdpIn__26,
-         sdpIn__27,
-         sdpIn__28,
-         sdpIn__29,
-         sdpIn__3,
-         sdpIn__30,
-         sdpIn__31,
-         sdpIn__32,
-         sdpIn__33,
-         sdpIn__34,
-         sdpIn__35,
-         sdpIn__4,
-         sdpIn__5,
-         sdpIn__6,
-         sdpIn__7,
-         sdpIn__8,
-         sdpIn__9,
-         sdpOut__0,
-         sdpOut__1,
-         sdpOut__10,
-         sdpOut__11,
-         sdpOut__12,
-         sdpOut__13,
-         sdpOut__14,
-         sdpOut__15,
-         sdpOut__16,
-         sdpOut__17,
-         sdpOut__18,
-         sdpOut__19,
-         sdpOut__2,
-         sdpOut__20,
-         sdpOut__21,
-         sdpOut__22,
-         sdpOut__23,
-         sdpOut__24,
-         sdpOut__25,
-         sdpOut__26,
-         sdpOut__27,
-         sdpOut__28,
-         sdpOut__29,
-         sdpOut__3,
-         sdpOut__30,
-         sdpOut__31,
-         sdpOut__4,
-         sdpOut__5,
-         sdpOut__6,
-         sdpOut__7,
-         sdpOut__8,
-         sdpOut__9,
-         sdpStruct__0,
-         sdpStruct__1,
-         sdpStruct__2,
-         sdpStruct__3,
-         sdqpIn__0,
-         sdqpIn__1,
-         sdqpIn__10,
-         sdqpIn__11,
-         sdqpIn__12,
-         sdqpIn__13,
-         sdqpIn__14,
-         sdqpIn__15,
-         sdqpIn__16,
-         sdqpIn__17,
-         sdqpIn__18,
-         sdqpIn__19,
-         sdqpIn__2,
-         sdqpIn__20,
-         sdqpIn__21,
-         sdqpIn__22,
-         sdqpIn__23,
-         sdqpIn__24,
-         sdqpIn__25,
-         sdqpIn__26,
-         sdqpIn__27,
-         sdqpIn__28,
-         sdqpIn__29,
-         sdqpIn__3,
-         sdqpIn__30,
-         sdqpIn__31,
-         sdqpIn__32,
-         sdqpIn__33,
-         sdqpIn__34,
-         sdqpIn__35,
-         sdqpIn__36,
-         sdqpIn__37,
-         sdqpIn__38,
-         sdqpIn__39,
-         sdqpIn__4,
-         sdqpIn__5,
-         sdqpIn__6,
-         sdqpIn__7,
-         sdqpIn__8,
-         sdqpIn__9,
-         sdqpOut__0,
-         sdqpOut__1,
-         sdqpOut__10,
-         sdqpOut__11,
-         sdqpOut__12,
-         sdqpOut__13,
-         sdqpOut__14,
-         sdqpOut__15,
-         sdqpOut__16,
-         sdqpOut__17,
-         sdqpOut__18,
-         sdqpOut__19,
-         sdqpOut__2,
-         sdqpOut__20,
-         sdqpOut__21,
-         sdqpOut__22,
-         sdqpOut__23,
-         sdqpOut__24,
-         sdqpOut__25,
-         sdqpOut__26,
-         sdqpOut__27,
-         sdqpOut__28,
-         sdqpOut__29,
-         sdqpOut__3,
-         sdqpOut__30,
-         sdqpOut__31,
-         sdqpOut__4,
-         sdqpOut__5,
-         sdqpOut__6,
-         sdqpOut__7,
-         sdqpOut__8,
-         sdqpOut__9,
-         sdqpStruct__0,
-         sdqpStruct__1,
-         sdqpStruct__2,
-         sdqpStruct__3,
-         sdqpStruct__4,
-         simplify__0,
-         simplify__1,
-         socpIn__0,
-         socpIn__1,
-         socpIn__10,
-         socpIn__11,
-         socpIn__12,
-         socpIn__13,
-         socpIn__14,
-         socpIn__15,
-         socpIn__16,
-         socpIn__17,
-         socpIn__18,
-         socpIn__19,
-         socpIn__2,
-         socpIn__20,
-         socpIn__21,
-         socpIn__22,
-         socpIn__23,
-         socpIn__24,
-         socpIn__25,
-         socpIn__26,
-         socpIn__27,
-         socpIn__28,
-         socpIn__29,
-         socpIn__3,
-         socpIn__30,
-         socpIn__31,
-         socpIn__32,
-         socpIn__33,
-         socpIn__34,
-         socpIn__35,
-         socpIn__36,
-         socpIn__37,
-         socpIn__38,
-         socpIn__39,
-         socpIn__4,
-         socpIn__40,
-         socpIn__41,
-         socpIn__42,
-         socpIn__43,
-         socpIn__5,
-         socpIn__6,
-         socpIn__7,
-         socpIn__8,
-         socpIn__9,
-         socpOut__0,
-         socpOut__1,
-         socpOut__10,
-         socpOut__11,
-         socpOut__12,
-         socpOut__13,
-         socpOut__14,
-         socpOut__15,
-         socpOut__16,
-         socpOut__17,
-         socpOut__18,
-         socpOut__19,
-         socpOut__2,
-         socpOut__3,
-         socpOut__4,
-         socpOut__5,
-         socpOut__6,
-         socpOut__7,
-         socpOut__8,
-         socpOut__9,
-         socpStruct__0,
-         socpStruct__1,
-         socpStruct__2,
-         solve__0,
-         solve__1,
-         solve__2,
-         solve__3,
-         solve__4,
-         solve__5,
-         sparse__0,
-         sparse__1,
-         sparse__2,
-         sparse__3,
-         sparse__4,
-         sparse__5,
-         sprank__0,
-         sprank__1,
-         sprank__2,
-         spy,
-         stabilizedQpIn__0,
-         stabilizedQpIn__1,
-         stabilizedQpIn__10,
-         stabilizedQpIn__11,
-         stabilizedQpIn__12,
-         stabilizedQpIn__13,
-         stabilizedQpIn__14,
-         stabilizedQpIn__15,
-         stabilizedQpIn__16,
-         stabilizedQpIn__17,
-         stabilizedQpIn__18,
-         stabilizedQpIn__19,
-         stabilizedQpIn__2,
-         stabilizedQpIn__20,
-         stabilizedQpIn__21,
-         stabilizedQpIn__22,
-         stabilizedQpIn__23,
-         stabilizedQpIn__24,
-         stabilizedQpIn__25,
-         stabilizedQpIn__26,
-         stabilizedQpIn__27,
-         stabilizedQpIn__28,
-         stabilizedQpIn__29,
-         stabilizedQpIn__3,
-         stabilizedQpIn__30,
-         stabilizedQpIn__31,
-         stabilizedQpIn__32,
-         stabilizedQpIn__33,
-         stabilizedQpIn__34,
-         stabilizedQpIn__35,
-         stabilizedQpIn__36,
-         stabilizedQpIn__37,
-         stabilizedQpIn__38,
-         stabilizedQpIn__39,
-         stabilizedQpIn__4,
-         stabilizedQpIn__40,
-         stabilizedQpIn__41,
-         stabilizedQpIn__42,
-         stabilizedQpIn__43,
-         stabilizedQpIn__44,
-         stabilizedQpIn__45,
-         stabilizedQpIn__46,
-         stabilizedQpIn__47,
-         stabilizedQpIn__48,
-         stabilizedQpIn__49,
-         stabilizedQpIn__5,
-         stabilizedQpIn__50,
-         stabilizedQpIn__51,
-         stabilizedQpIn__6,
-         stabilizedQpIn__7,
-         stabilizedQpIn__8,
-         stabilizedQpIn__9,
-         substituteInPlace__0,
-         substituteInPlace__1,
-         substituteInPlace__2,
-         substituteInPlace__3,
-         substituteInPlace__4,
-         substituteInPlace__5,
-         substitute__0,
-         substitute__1,
-         substitute__2,
-         substitute__3,
-         sumAll__0,
-         sumAll__1,
-         sumAll__2,
-         sumAll__3,
-         sumCols__0,
-         sumCols__1,
-         sumCols__2,
-         sumCols__3,
-         sumRows__0,
-         sumRows__1,
-         sumRows__2,
-         sumRows__3,
-         sum_square__0,
-         sum_square__1,
-         sum_square__2,
-         sum_square__3,
-         tangent__0,
-         tangent__1,
-         taylor__0,
-         taylor__1,
-         taylor__2,
-         trace__0,
-         trace__1,
-         trace__2,
-         trace__3,
-         transpose__0,
-         transpose__1,
-         transpose__2,
-         transpose__3,
-         transpose__4,
-         triangle,
-         tril2symm__0,
-         tril2symm__1,
-         tril2symm__2,
-         tril2symm__3,
-         tril__0,
-         tril__1,
-         tril__2,
-         tril__3,
-         tril__4,
-         tril__5,
-         triu2symm__0,
-         triu2symm__1,
-         triu2symm__2,
-         triu2symm__3,
-         triu__0,
-         triu__1,
-         triu__2,
-         triu__3,
-         triu__4,
-         triu__5,
-         unite__0,
-         unite__1,
-         unite__2,
-         unite__3,
-         vecNZ__0,
-         vecNZ__1,
-         vecNZ__2,
-         vecNZ__3,
-         vecNZcat__0,
-         vecNZcat__1,
-         vecNZcat__2,
-         vecNZcat__3,
-         vec__0,
-         vec__1,
-         vec__2,
-         vec__3,
-         vec__4,
-         veccat__0,
-         veccat__1,
-         veccat__2,
-         veccat__3,
-         vertcat__0,
-         vertcat__1,
-         vertcat__2,
-         vertcat__3,
-         vertcat__4,
-         vertsplit__0,
-         vertsplit__1,
-         vertsplit__10,
-         vertsplit__11,
-         vertsplit__12,
-         vertsplit__2,
-         vertsplit__3,
-         vertsplit__4,
-         vertsplit__5,
-         vertsplit__6,
-         vertsplit__7,
-         vertsplit__8,
-         vertsplit__9,
-       ) where
-
-
-import Data.Vector ( Vector )
-import Foreign.C.Types
-import Foreign.Marshal ( new, free )
-import Foreign.Storable ( peek )
-import Foreign.Ptr ( Ptr, nullPtr )
-
-import Casadi.Core.Data
-import Casadi.Core.Enums
-import Casadi.Internal.CToolsInstances ( )
-import Casadi.Internal.FormatException ( formatException )
-import Casadi.Internal.MarshalTypes ( StdVec, StdString )
-import Casadi.Internal.Marshal ( withMarshal )
-import Casadi.Internal.WrapReturn ( WrapReturn(..) )
-
-foreign import ccall unsafe "addMultiple__0" c_addMultiple__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> IO ()
-{-|
->same as: res += mul(A, v)
--}
-addMultiple__0
-  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-addMultiple__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_addMultiple__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "addMultiple__1" c_addMultiple__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> CInt -> IO ()
-{-|
->same as: res += mul(A, v)
--}
-addMultiple__1
-  :: SX -> Vector SXElement -> Vector SXElement -> Bool -> IO ()
-addMultiple__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_addMultiple__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "addMultiple__2" c_addMultiple__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> IO ()
-{-|
->same as: res += mul(A, v)
--}
-addMultiple__2
-  :: DMatrix -> Vector Double -> Vector Double -> IO ()
-addMultiple__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_addMultiple__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "addMultiple__3" c_addMultiple__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CDouble) -> CInt -> IO ()
-{-|
->same as: res += mul(A, v)
--}
-addMultiple__3
-  :: DMatrix -> Vector Double -> Vector Double -> Bool -> IO ()
-addMultiple__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_addMultiple__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "addMultiple__4" c_addMultiple__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO ()
-{-|
->same as: res += mul(A, v)
--}
-addMultiple__4
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-addMultiple__4 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_addMultiple__4 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "addMultiple__5" c_addMultiple__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO ()
-{-|
->same as: res += mul(A, v)
--}
-addMultiple__5
-  :: IMatrix -> Vector Int -> Vector Int -> Bool -> IO ()
-addMultiple__5 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_addMultiple__5 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "adj__0" c_adj__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Transpose of a matrix.
--}
-adj__0
-  :: SX -> IO SX
-adj__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_adj__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "adj__1" c_adj__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Transpose of a matrix.
--}
-adj__1
-  :: DMatrix -> IO DMatrix
-adj__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_adj__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "adj__2" c_adj__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Transpose of a matrix.
--}
-adj__2
-  :: IMatrix -> IO IMatrix
-adj__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_adj__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blkdiag__0" c_blkdiag__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Construct a matrix with given blocks on the diagonal.
--}
-blkdiag__0
-  :: Vector MX -> IO MX
-blkdiag__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blkdiag__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blkdiag__1" c_blkdiag__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-{-|
->Construct a Sparsity with given blocks on the diagonal.
--}
-blkdiag__1
-  :: Vector Sparsity -> IO Sparsity
-blkdiag__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blkdiag__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blkdiag__2" c_blkdiag__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-{-|
->Construct a matrix with given block on the diagonal.
--}
-blkdiag__2
-  :: Vector SX -> IO SX
-blkdiag__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blkdiag__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blkdiag__3" c_blkdiag__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-{-|
->Construct a matrix with given block on the diagonal.
--}
-blkdiag__3
-  :: Vector DMatrix -> IO DMatrix
-blkdiag__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blkdiag__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blkdiag__4" c_blkdiag__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->Construct a matrix with given block on the diagonal.
--}
-blkdiag__4
-  :: Vector IMatrix -> IO IMatrix
-blkdiag__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blkdiag__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blockcat__0" c_blockcat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> IO (Ptr MX')
-{-|
->Construct a matrix from a list of list of blocks.
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blockcat__0
-  :: Vector (Vector MX) -> IO MX
-blockcat__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blockcat__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blockcat__1" c_blockcat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> IO (Ptr Sparsity')
-{-|
->Construct a sparsity from a list of list of sparsities.
--}
-blockcat__1
-  :: Vector (Vector Sparsity) -> IO Sparsity
-blockcat__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blockcat__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blockcat__2" c_blockcat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> IO (Ptr SX')
-{-|
->Construct a matrix from a list of list of blocks.
--}
-blockcat__2
-  :: Vector (Vector SX) -> IO SX
-blockcat__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blockcat__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blockcat__3" c_blockcat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))) -> IO (Ptr DMatrix')
-{-|
->Construct a matrix from a list of list of blocks.
--}
-blockcat__3
-  :: Vector (Vector DMatrix) -> IO DMatrix
-blockcat__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blockcat__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blockcat__4" c_blockcat__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))) -> IO (Ptr IMatrix')
-{-|
->Construct a matrix from a list of list of blocks.
--}
-blockcat__4
-  :: Vector (Vector IMatrix) -> IO IMatrix
-blockcat__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blockcat__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__0" c_blocksplit__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-{-|
->chop up into blocks
->
->vert_incr Defines the increment for block boundaries in col dimension
->horz_incr Defines the increment for block boundaries in row dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__0
-  :: MX -> IO (Vector (Vector MX))
-blocksplit__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__1" c_blocksplit__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-{-|
->chop up into blocks
->
->vert_incr Defines the increment for block boundaries in col dimension
->horz_incr Defines the increment for block boundaries in row dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__1
-  :: MX -> Int -> IO (Vector (Vector MX))
-blocksplit__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__2" c_blocksplit__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-{-|
->chop up into blocks
->
->vert_incr Defines the increment for block boundaries in col dimension
->horz_incr Defines the increment for block boundaries in row dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__2
-  :: MX -> Int -> Int -> IO (Vector (Vector MX))
-blocksplit__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__3" c_blocksplit__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr MX')))))
-{-|
->chop up into blocks
->
->vert_offset Defines the boundaries of the block cols horz_offset Defines the
->boundaries of the block rows
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__3
-  :: MX -> Vector Int -> Vector Int -> IO (Vector (Vector MX))
-blocksplit__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__4" c_blocksplit__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__4
-  :: SX -> IO (Vector (Vector SX))
-blocksplit__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__5" c_blocksplit__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__5
-  :: SX -> Int -> IO (Vector (Vector SX))
-blocksplit__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__6" c_blocksplit__6
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__6
-  :: SX -> Int -> Int -> IO (Vector (Vector SX))
-blocksplit__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__7" c_blocksplit__7
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr SX')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_offset:  Defines the boundaries of the block rows
->
->horz_offset:  Defines the boundaries of the block columns
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__7
-  :: SX -> Vector Int -> Vector Int -> IO (Vector (Vector SX))
-blocksplit__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__8" c_blocksplit__8
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__8
-  :: DMatrix -> IO (Vector (Vector DMatrix))
-blocksplit__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__9" c_blocksplit__9
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__9
-  :: DMatrix -> Int -> IO (Vector (Vector DMatrix))
-blocksplit__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__10" c_blocksplit__10
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__10
-  :: DMatrix -> Int -> Int -> IO (Vector (Vector DMatrix))
-blocksplit__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__11" c_blocksplit__11
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr DMatrix')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_offset:  Defines the boundaries of the block rows
->
->horz_offset:  Defines the boundaries of the block columns
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__11
-  :: DMatrix -> Vector Int -> Vector Int -> IO (Vector (Vector DMatrix))
-blocksplit__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__12" c_blocksplit__12
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__12
-  :: IMatrix -> IO (Vector (Vector IMatrix))
-blocksplit__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__13" c_blocksplit__13
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__13
-  :: IMatrix -> Int -> IO (Vector (Vector IMatrix))
-blocksplit__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__14" c_blocksplit__14
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_incr:  Defines the increment for block boundaries in row dimension
->
->horz_incr:  Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__14
-  :: IMatrix -> Int -> Int -> IO (Vector (Vector IMatrix))
-blocksplit__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "blocksplit__15" c_blocksplit__15
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr IMatrix')))))
-{-|
->chop up into blocks
->
->Parameters:
->-----------
->
->vert_offset:  Defines the boundaries of the block rows
->
->horz_offset:  Defines the boundaries of the block columns
->
->blockcat(blocksplit(x,..., ...)) = x
--}
-blocksplit__15
-  :: IMatrix -> Vector Int -> Vector Int -> IO (Vector (Vector IMatrix))
-blocksplit__15 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_blocksplit__15 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__0" c_cleIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-cleIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__1" c_cleIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-cleIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__2" c_cleIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-cleIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__3" c_cleIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-cleIn__3
-  :: Vector DMatrix -> IO (Vector DMatrix)
-cleIn__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__4" c_cleIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-cleIn__4
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-cleIn__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__5" c_cleIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-cleIn__5
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-cleIn__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__6" c_cleIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-cleIn__6
-  :: Vector MX -> IO (Vector MX)
-cleIn__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__7" c_cleIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-cleIn__7
-  :: Vector MX -> String -> IO (Vector MX)
-cleIn__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__8" c_cleIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-cleIn__8
-  :: Vector MX -> String -> String -> IO (Vector MX)
-cleIn__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__9" c_cleIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-cleIn__9
-  :: Vector SX -> IO (Vector SX)
-cleIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__10" c_cleIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-cleIn__10
-  :: Vector SX -> String -> IO (Vector SX)
-cleIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleIn__11" c_cleIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-cleIn__11
-  :: Vector SX -> String -> String -> IO (Vector SX)
-cleIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleOut__0" c_cleOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-cleOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleOut__1" c_cleOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-cleOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleOut__2" c_cleOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-cleOut__2
-  :: Vector DMatrix -> IO (Vector DMatrix)
-cleOut__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleOut__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleOut__3" c_cleOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-cleOut__3
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-cleOut__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleOut__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleOut__4" c_cleOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-cleOut__4
-  :: Vector MX -> IO (Vector MX)
-cleOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleOut__5" c_cleOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-cleOut__5
-  :: Vector MX -> String -> IO (Vector MX)
-cleOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleOut__6" c_cleOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-cleOut__6
-  :: Vector SX -> IO (Vector SX)
-cleOut__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleOut__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleOut__7" c_cleOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-cleOut__7
-  :: Vector SX -> String -> IO (Vector SX)
-cleOut__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleOut__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleStruct__0" c_cleStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-cleStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleStruct__1" c_cleStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-cleStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleStruct__2" c_cleStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleStruct__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-cleStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cleStruct__3" c_cleStruct__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-cleStruct__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-cleStruct__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cleStruct__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cofactor__0" c_cofactor__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SXElement')
-{-|
->Transpose of a matrix.
--}
-cofactor__0
-  :: SX -> Int -> Int -> IO SXElement
-cofactor__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cofactor__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cofactor__1" c_cofactor__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO CDouble
-{-|
->Transpose of a matrix.
--}
-cofactor__1
-  :: DMatrix -> Int -> Int -> IO Double
-cofactor__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cofactor__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cofactor__2" c_cofactor__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO CInt
-{-|
->Transpose of a matrix.
--}
-cofactor__2
-  :: IMatrix -> Int -> Int -> IO Int
-cofactor__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cofactor__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "collocationPoints__0" c_collocationPoints__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr (StdVec CDouble))
-{-|
->Obtain collocation points of specific order and scheme.
->
->Parameters:
->-----------
->
->scheme:  'radau' or 'legendre'
--}
-collocationPoints__0
-  :: Int -> IO (Vector Double)
-collocationPoints__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_collocationPoints__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "collocationPoints__1" c_collocationPoints__1
-  :: Ptr (Ptr StdString) -> CInt -> Ptr StdString -> IO (Ptr (StdVec CDouble))
-{-|
->Obtain collocation points of specific order and scheme.
->
->Parameters:
->-----------
->
->scheme:  'radau' or 'legendre'
--}
-collocationPoints__1
-  :: Int -> String -> IO (Vector Double)
-collocationPoints__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_collocationPoints__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "complement" c_complement
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
-{-|
->Returns the list of all i in [0, size[ not found in supplied list.
->
->The supplied vector may contain duplicates and may be non-monotonous The
->supplied vector will be checked for bounds The result vector is guaranteed
->to be monotonously increasing
--}
-complement
-  :: Vector Int -> Int -> IO (Vector Int)
-complement x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_complement errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "compress__0" c_compress__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-{-|
->Remove identical calculations.
--}
-compress__0
-  :: SX -> IO ()
-compress__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_compress__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "compress__1" c_compress__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO ()
-{-|
->Remove identical calculations.
--}
-compress__1
-  :: SX -> Int -> IO ()
-compress__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_compress__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__0" c_controldaeIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-controldaeIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__1" c_controldaeIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-controldaeIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__2" c_controldaeIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-controldaeIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__3" c_controldaeIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-controldaeIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__4" c_controldaeIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-controldaeIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__5" c_controldaeIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-controldaeIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__6" c_controldaeIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-controldaeIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__7" c_controldaeIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-controldaeIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__8" c_controldaeIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__8
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-controldaeIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__9" c_controldaeIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controldaeIn__9
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-controldaeIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__10" c_controldaeIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__10
-  :: Vector DMatrix -> IO (Vector DMatrix)
-controldaeIn__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__11" c_controldaeIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__11
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-controldaeIn__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__12" c_controldaeIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__12
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-controldaeIn__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__13" c_controldaeIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__13
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-controldaeIn__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__14" c_controldaeIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__14
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-controldaeIn__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__15" c_controldaeIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__15
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-controldaeIn__15 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__15 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__16" c_controldaeIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__16
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-controldaeIn__16 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__17" c_controldaeIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__17
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-controldaeIn__17 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__18" c_controldaeIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__18
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-controldaeIn__18 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__18 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__19" c_controldaeIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controldaeIn__19
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-controldaeIn__19 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__20" c_controldaeIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__20
-  :: Vector MX -> IO (Vector MX)
-controldaeIn__20 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__20 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__21" c_controldaeIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__21
-  :: Vector MX -> String -> IO (Vector MX)
-controldaeIn__21 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__21 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__22" c_controldaeIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__22
-  :: Vector MX -> String -> String -> IO (Vector MX)
-controldaeIn__22 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__22 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__23" c_controldaeIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__23
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-controldaeIn__23 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__23 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__24" c_controldaeIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__24
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-controldaeIn__24 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__24 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__25" c_controldaeIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__25
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-controldaeIn__25 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__25 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__26" c_controldaeIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__26
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-controldaeIn__26 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__27" c_controldaeIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__27
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-controldaeIn__27 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__28" c_controldaeIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__28
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-controldaeIn__28 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__28 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__29" c_controldaeIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controldaeIn__29
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-controldaeIn__29 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__29 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__30" c_controldaeIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__30
-  :: Vector SX -> IO (Vector SX)
-controldaeIn__30 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__30 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__31" c_controldaeIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__31
-  :: Vector SX -> String -> IO (Vector SX)
-controldaeIn__31 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__31 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__32" c_controldaeIn__32
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__32
-  :: Vector SX -> String -> String -> IO (Vector SX)
-controldaeIn__32 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__32 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__33" c_controldaeIn__33
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__33
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-controldaeIn__33 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__33 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__34" c_controldaeIn__34
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__34
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-controldaeIn__34 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__34 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__35" c_controldaeIn__35
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__35
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-controldaeIn__35 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__35 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__36" c_controldaeIn__36
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__36
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-controldaeIn__36 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__37" c_controldaeIn__37
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__37
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-controldaeIn__37 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__38" c_controldaeIn__38
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__38
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-controldaeIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controldaeIn__39" c_controldaeIn__39
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controldaeIn__39
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-controldaeIn__39 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controldaeIn__39 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__0" c_controlsimulatorIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-controlsimulatorIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-controlsimulatorIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__1" c_controlsimulatorIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controlsimulatorIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-controlsimulatorIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__2" c_controlsimulatorIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controlsimulatorIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-controlsimulatorIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__3" c_controlsimulatorIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-controlsimulatorIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-controlsimulatorIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__4" c_controlsimulatorIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-controlsimulatorIn__4
-  :: Vector DMatrix -> IO (Vector DMatrix)
-controlsimulatorIn__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__5" c_controlsimulatorIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controlsimulatorIn__5
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-controlsimulatorIn__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__6" c_controlsimulatorIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controlsimulatorIn__6
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-controlsimulatorIn__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__7" c_controlsimulatorIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-controlsimulatorIn__7
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-controlsimulatorIn__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__8" c_controlsimulatorIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-controlsimulatorIn__8
-  :: Vector MX -> IO (Vector MX)
-controlsimulatorIn__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__9" c_controlsimulatorIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controlsimulatorIn__9
-  :: Vector MX -> String -> IO (Vector MX)
-controlsimulatorIn__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__10" c_controlsimulatorIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controlsimulatorIn__10
-  :: Vector MX -> String -> String -> IO (Vector MX)
-controlsimulatorIn__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__11" c_controlsimulatorIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-controlsimulatorIn__11
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-controlsimulatorIn__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__12" c_controlsimulatorIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-controlsimulatorIn__12
-  :: Vector SX -> IO (Vector SX)
-controlsimulatorIn__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__13" c_controlsimulatorIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controlsimulatorIn__13
-  :: Vector SX -> String -> IO (Vector SX)
-controlsimulatorIn__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__14" c_controlsimulatorIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controlsimulatorIn__14
-  :: Vector SX -> String -> String -> IO (Vector SX)
-controlsimulatorIn__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "controlsimulatorIn__15" c_controlsimulatorIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-controlsimulatorIn__15
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-controlsimulatorIn__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_controlsimulatorIn__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "countNodes__0" c_countNodes__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
-{-|
->Count number of nodes
--}
-countNodes__0
-  :: MX -> IO Int
-countNodes__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_countNodes__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "countNodes__1" c_countNodes__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-{-|
->Count number of nodes.
--}
-countNodes__1
-  :: SX -> IO Int
-countNodes__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_countNodes__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "createParent__0" c_createParent__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Create a parent MX on which a bunch of MX's (sizes given as argument) will
->depend.
--}
-createParent__0
-  :: Vector Sparsity -> Vector MX -> IO MX
-createParent__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_createParent__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "createParent__1" c_createParent__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Create a parent MX on which a bunch of MX's (sizes given as argument) will
->depend.
--}
-createParent__1
-  :: Vector MX -> Vector MX -> IO MX
-createParent__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_createParent__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "createParent__2" c_createParent__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Create a parent MX on which all given MX's will depend.
->
->In some sense, this function is the inverse of
->
->Parameters:
->-----------
->
->deps:  Must all be symbolic matrices.
--}
-createParent__2
-  :: Vector MX -> IO MX
-createParent__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_createParent__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cross__0" c_cross__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Matlab's cross command.
--}
-cross__0
-  :: MX -> MX -> IO MX
-cross__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cross__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cross__1" c_cross__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
-{-|
->Matlab's cross command.
--}
-cross__1
-  :: MX -> MX -> Int -> IO MX
-cross__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cross__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cross__2" c_cross__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Matlab's cross command.
--}
-cross__2
-  :: SX -> SX -> IO SX
-cross__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cross__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cross__3" c_cross__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->Matlab's cross command.
--}
-cross__3
-  :: SX -> SX -> Int -> IO SX
-cross__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cross__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cross__4" c_cross__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Matlab's cross command.
--}
-cross__4
-  :: DMatrix -> DMatrix -> IO DMatrix
-cross__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cross__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cross__5" c_cross__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-{-|
->Matlab's cross command.
--}
-cross__5
-  :: DMatrix -> DMatrix -> Int -> IO DMatrix
-cross__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cross__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cross__6" c_cross__6
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Matlab's cross command.
--}
-cross__6
-  :: IMatrix -> IMatrix -> IO IMatrix
-cross__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cross__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "cross__7" c_cross__7
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-{-|
->Matlab's cross command.
--}
-cross__7
-  :: IMatrix -> IMatrix -> Int -> IO IMatrix
-cross__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_cross__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__0" c_daeIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-daeIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__1" c_daeIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-daeIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__2" c_daeIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-daeIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__3" c_daeIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-daeIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__4" c_daeIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-daeIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__5" c_daeIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeIn__5
-  :: Vector DMatrix -> IO (Vector DMatrix)
-daeIn__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__6" c_daeIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeIn__6
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-daeIn__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__7" c_daeIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeIn__7
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-daeIn__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__8" c_daeIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeIn__8
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-daeIn__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__9" c_daeIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeIn__9
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-daeIn__9 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__9 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__10" c_daeIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-daeIn__10
-  :: Vector MX -> IO (Vector MX)
-daeIn__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__11" c_daeIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-daeIn__11
-  :: Vector MX -> String -> IO (Vector MX)
-daeIn__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__12" c_daeIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-daeIn__12
-  :: Vector MX -> String -> String -> IO (Vector MX)
-daeIn__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__13" c_daeIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-daeIn__13
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-daeIn__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__14" c_daeIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-daeIn__14
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-daeIn__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__15" c_daeIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-daeIn__15
-  :: Vector SX -> IO (Vector SX)
-daeIn__15 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__15 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__16" c_daeIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-daeIn__16
-  :: Vector SX -> String -> IO (Vector SX)
-daeIn__16 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__16 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__17" c_daeIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-daeIn__17
-  :: Vector SX -> String -> String -> IO (Vector SX)
-daeIn__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__18" c_daeIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-daeIn__18
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-daeIn__18 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__18 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeIn__19" c_daeIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-daeIn__19
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-daeIn__19 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeIn__19 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__0" c_daeOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-daeOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__1" c_daeOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-daeOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__2" c_daeOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-daeOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__3" c_daeOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-daeOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-daeOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__4" c_daeOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeOut__4
-  :: Vector DMatrix -> IO (Vector DMatrix)
-daeOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__5" c_daeOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeOut__5
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-daeOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__6" c_daeOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeOut__6
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-daeOut__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__7" c_daeOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-daeOut__7
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-daeOut__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__8" c_daeOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-daeOut__8
-  :: Vector MX -> IO (Vector MX)
-daeOut__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__9" c_daeOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-daeOut__9
-  :: Vector MX -> String -> IO (Vector MX)
-daeOut__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__10" c_daeOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-daeOut__10
-  :: Vector MX -> String -> String -> IO (Vector MX)
-daeOut__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__11" c_daeOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-daeOut__11
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-daeOut__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__12" c_daeOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-daeOut__12
-  :: Vector SX -> IO (Vector SX)
-daeOut__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__13" c_daeOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-daeOut__13
-  :: Vector SX -> String -> IO (Vector SX)
-daeOut__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__14" c_daeOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-daeOut__14
-  :: Vector SX -> String -> String -> IO (Vector SX)
-daeOut__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "daeOut__15" c_daeOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-daeOut__15
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-daeOut__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_daeOut__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dense__0" c_dense__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->create a clipped view into a matrix Create a sparse matrix from a dense
->matrix A, with sparsity pattern sp
->
->MX clip(const MX& A, const Sparsity& sp) { Join the sparsity patterns
->std::vector<int> mapping; Sparsity sp = A.sparsity().patternIntersection(sp,
->mapping);
->
->Split up the mapping std::vector<int> nzA, nzB;
->
->Copy sparsity for (int k=0; k<mapping.size(); ++k) { if (mapping[k]<0) {
->nzA.push_back(k); } else if (mapping[k]>0) { nzB.push_back(k); } else {
->throw CasadiException("Pattern intersection not empty"); } }
->
->Create mapping MX ret; ret.assignNode(new Mapping(sp)); ret->assign(A,
->range(nzA.size()), nzA); ret->assign(B, range(nzB.size()), nzB); return ret;
->
->}
->
->Make the matrix dense if not already
--}
-dense__0
-  :: MX -> IO MX
-dense__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dense__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dense__1" c_dense__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Make a matrix dense.
--}
-dense__1
-  :: SX -> IO SX
-dense__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dense__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dense__2" c_dense__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Make a matrix dense.
--}
-dense__2
-  :: DMatrix -> IO DMatrix
-dense__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dense__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dense__3" c_dense__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Make a matrix dense.
--}
-dense__3
-  :: IMatrix -> IO IMatrix
-dense__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dense__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dependsOn__0" c_dependsOn__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO CInt
-{-|
->Check if expression depends on any of the arguments The arguments must be
->symbolic.
--}
-dependsOn__0
-  :: MX -> Vector MX -> IO Bool
-dependsOn__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dependsOn__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dependsOn__1" c_dependsOn__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
-{-|
->Check if expression depends on the argument The argument must be symbolic.
--}
-dependsOn__1
-  :: SX -> SX -> IO Bool
-dependsOn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dependsOn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "det__0" c_det__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Matrix determinant (experimental)
--}
-det__0
-  :: MX -> IO MX
-det__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_det__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "det__1" c_det__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SXElement')
-{-|
->Transpose of a matrix.
--}
-det__1
-  :: SX -> IO SXElement
-det__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_det__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "det__2" c_det__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CDouble
-{-|
->Transpose of a matrix.
--}
-det__2
-  :: DMatrix -> IO Double
-det__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_det__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "det__3" c_det__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-{-|
->Transpose of a matrix.
--}
-det__3
-  :: IMatrix -> IO Int
-det__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_det__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diag__0" c_diag__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Get the diagonal of a matrix or construct a diagonal.
->
->When the input is square, the diagonal elements are returned. If the input
->is vector-like, a diagonal matrix is constructed with it.
--}
-diag__0
-  :: MX -> IO MX
-diag__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diag__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diag__1" c_diag__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Get the diagonal of a matrix or construct a diagonal When the input is
->square, the diagonal elements are returned. If the input is vector- like, a
->diagonal matrix is constructed with it.
--}
-diag__1
-  :: SX -> IO SX
-diag__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diag__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diag__2" c_diag__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Get the diagonal of a matrix or construct a diagonal When the input is
->square, the diagonal elements are returned. If the input is vector- like, a
->diagonal matrix is constructed with it.
--}
-diag__2
-  :: DMatrix -> IO DMatrix
-diag__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diag__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diag__3" c_diag__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Get the diagonal of a matrix or construct a diagonal When the input is
->square, the diagonal elements are returned. If the input is vector- like, a
->diagonal matrix is constructed with it.
--}
-diag__3
-  :: IMatrix -> IO IMatrix
-diag__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diag__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagcat" c_diagcat
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->concatenate diagonally
->
->diagcat(diagsplit(x, ...)) = x
--}
-diagcat
-  :: Vector MX -> IO MX
-diagcat x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagcat errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__0" c_diagsplit__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split diagonally, retaining matrices
->
->Parameters:
->-----------
->
->output_offset1:  List of all start locations (row) for each matrix
->
->output_offset1:  List of all start locations (column) for each matrix the
->last matrix will run to the end. diagcat(diagsplit(x, ...)) = x
--}
-diagsplit__0
-  :: MX -> Vector Int -> Vector Int -> IO (Vector MX)
-diagsplit__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__1" c_diagsplit__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
-{-|
->split diagonally, retaining square matrices
->
->Parameters:
->-----------
->
->output_offset:  List of all start locations for each group the last matrix
->will run to the end.
->
->diagcat(diagsplit(x, ...)) = x
--}
-diagsplit__1
-  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
-diagsplit__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__2" c_diagsplit__2
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr Sparsity')))
-{-|
->split diagonally, retaining fixed-sized matrices
->
->Parameters:
->-----------
->
->incr1:  Row dimension of each matrix
->
->incr2:  Column dimension of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__2
-  :: Sparsity -> Int -> Int -> IO (Vector Sparsity)
-diagsplit__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__3" c_diagsplit__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr (StdVec (Ptr Sparsity')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__3
-  :: Sparsity -> IO (Vector Sparsity)
-diagsplit__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__4" c_diagsplit__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr (StdVec (Ptr Sparsity')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__4
-  :: Sparsity -> Int -> IO (Vector Sparsity)
-diagsplit__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__5" c_diagsplit__5
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
-{-|
->Split up a sparsity pattern diagonally.
--}
-diagsplit__5
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Sparsity)
-diagsplit__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__6" c_diagsplit__6
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split diagonally, retaining square matrices
->
->Parameters:
->-----------
->
->output_offset:  List of all start locations for each group the last matrix
->will run to the end.
->
->diagcat(diagsplit(x, ...)) = x
--}
-diagsplit__6
-  :: MX -> Vector Int -> IO (Vector MX)
-diagsplit__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__7" c_diagsplit__7
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split diagonally, retaining fixed-sized matrices
->
->Parameters:
->-----------
->
->incr1:  Row dimension of each matrix
->
->incr2:  Column dimension of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__7
-  :: MX -> Int -> Int -> IO (Vector MX)
-diagsplit__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__8" c_diagsplit__8
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__8
-  :: MX -> IO (Vector MX)
-diagsplit__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__9" c_diagsplit__9
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__9
-  :: MX -> Int -> IO (Vector MX)
-diagsplit__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__10" c_diagsplit__10
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split diagonally, retaining square matrices
->
->Parameters:
->-----------
->
->output_offset:  List of all start locations for each group the last matrix
->will run to the end.
->
->diagcat(diagsplit(x, ...)) = x
--}
-diagsplit__10
-  :: SX -> Vector Int -> IO (Vector SX)
-diagsplit__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__11" c_diagsplit__11
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split diagonally, retaining fixed-sized matrices
->
->Parameters:
->-----------
->
->incr1:  Row dimension of each matrix
->
->incr2:  Column dimension of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__11
-  :: SX -> Int -> Int -> IO (Vector SX)
-diagsplit__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__12" c_diagsplit__12
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__12
-  :: SX -> IO (Vector SX)
-diagsplit__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__13" c_diagsplit__13
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__13
-  :: SX -> Int -> IO (Vector SX)
-diagsplit__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__14" c_diagsplit__14
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split diagonally, retaining square matrices
->
->Parameters:
->-----------
->
->output_offset:  List of all start locations for each group the last matrix
->will run to the end.
->
->diagcat(diagsplit(x, ...)) = x
--}
-diagsplit__14
-  :: DMatrix -> Vector Int -> IO (Vector DMatrix)
-diagsplit__14 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__14 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__15" c_diagsplit__15
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split diagonally, retaining fixed-sized matrices
->
->Parameters:
->-----------
->
->incr1:  Row dimension of each matrix
->
->incr2:  Column dimension of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__15
-  :: DMatrix -> Int -> Int -> IO (Vector DMatrix)
-diagsplit__15 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__15 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__16" c_diagsplit__16
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__16
-  :: DMatrix -> IO (Vector DMatrix)
-diagsplit__16 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__16 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__17" c_diagsplit__17
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__17
-  :: DMatrix -> Int -> IO (Vector DMatrix)
-diagsplit__17 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__17 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__18" c_diagsplit__18
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split diagonally, retaining square matrices
->
->Parameters:
->-----------
->
->output_offset:  List of all start locations for each group the last matrix
->will run to the end.
->
->diagcat(diagsplit(x, ...)) = x
--}
-diagsplit__18
-  :: IMatrix -> Vector Int -> IO (Vector IMatrix)
-diagsplit__18 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__18 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__19" c_diagsplit__19
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split diagonally, retaining fixed-sized matrices
->
->Parameters:
->-----------
->
->incr1:  Row dimension of each matrix
->
->incr2:  Column dimension of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__19
-  :: IMatrix -> Int -> Int -> IO (Vector IMatrix)
-diagsplit__19 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__19 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__20" c_diagsplit__20
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__20
-  :: IMatrix -> IO (Vector IMatrix)
-diagsplit__20 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__20 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "diagsplit__21" c_diagsplit__21
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split diagonally, retaining groups of square matrices
->
->Parameters:
->-----------
->
->incr:  Size of each matrix
->
->diagsplit(diagsplit(x, ...)) = x
--}
-diagsplit__21
-  :: IMatrix -> Int -> IO (Vector IMatrix)
-diagsplit__21 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_diagsplit__21 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__0" c_dleIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-dleIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-dleIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__1" c_dleIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-dleIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-dleIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__2" c_dleIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-dleIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-dleIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__3" c_dleIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-dleIn__3
-  :: Vector DMatrix -> IO (Vector DMatrix)
-dleIn__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__4" c_dleIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-dleIn__4
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-dleIn__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__5" c_dleIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-dleIn__5
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-dleIn__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__6" c_dleIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-dleIn__6
-  :: Vector MX -> IO (Vector MX)
-dleIn__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__7" c_dleIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-dleIn__7
-  :: Vector MX -> String -> IO (Vector MX)
-dleIn__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__8" c_dleIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-dleIn__8
-  :: Vector MX -> String -> String -> IO (Vector MX)
-dleIn__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__9" c_dleIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-dleIn__9
-  :: Vector SX -> IO (Vector SX)
-dleIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__10" c_dleIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-dleIn__10
-  :: Vector SX -> String -> IO (Vector SX)
-dleIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleIn__11" c_dleIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-dleIn__11
-  :: Vector SX -> String -> String -> IO (Vector SX)
-dleIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleOut__0" c_dleOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-dleOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-dleOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleOut__1" c_dleOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-dleOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-dleOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleOut__2" c_dleOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-dleOut__2
-  :: Vector DMatrix -> IO (Vector DMatrix)
-dleOut__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleOut__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleOut__3" c_dleOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-dleOut__3
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-dleOut__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleOut__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleOut__4" c_dleOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-dleOut__4
-  :: Vector MX -> IO (Vector MX)
-dleOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleOut__5" c_dleOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-dleOut__5
-  :: Vector MX -> String -> IO (Vector MX)
-dleOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleOut__6" c_dleOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-dleOut__6
-  :: Vector SX -> IO (Vector SX)
-dleOut__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleOut__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleOut__7" c_dleOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-dleOut__7
-  :: Vector SX -> String -> IO (Vector SX)
-dleOut__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleOut__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleStruct__0" c_dleStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-dleStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-dleStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleStruct__1" c_dleStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-dleStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-dleStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dleStruct__2" c_dleStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-dleStruct__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-dleStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dleStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__0" c_dpleIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-dpleIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-dpleIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__1" c_dpleIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-dpleIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-dpleIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__2" c_dpleIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-dpleIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-dpleIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__3" c_dpleIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-dpleIn__3
-  :: Vector DMatrix -> IO (Vector DMatrix)
-dpleIn__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__4" c_dpleIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-dpleIn__4
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-dpleIn__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__5" c_dpleIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-dpleIn__5
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-dpleIn__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__6" c_dpleIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-dpleIn__6
-  :: Vector MX -> IO (Vector MX)
-dpleIn__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__7" c_dpleIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-dpleIn__7
-  :: Vector MX -> String -> IO (Vector MX)
-dpleIn__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__8" c_dpleIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-dpleIn__8
-  :: Vector MX -> String -> String -> IO (Vector MX)
-dpleIn__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__9" c_dpleIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-dpleIn__9
-  :: Vector SX -> IO (Vector SX)
-dpleIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__10" c_dpleIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-dpleIn__10
-  :: Vector SX -> String -> IO (Vector SX)
-dpleIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleIn__11" c_dpleIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-dpleIn__11
-  :: Vector SX -> String -> String -> IO (Vector SX)
-dpleIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleOut__0" c_dpleOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-dpleOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-dpleOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleOut__1" c_dpleOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-dpleOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-dpleOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleOut__2" c_dpleOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-dpleOut__2
-  :: Vector DMatrix -> IO (Vector DMatrix)
-dpleOut__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleOut__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleOut__3" c_dpleOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-dpleOut__3
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-dpleOut__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleOut__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleOut__4" c_dpleOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-dpleOut__4
-  :: Vector MX -> IO (Vector MX)
-dpleOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleOut__5" c_dpleOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-dpleOut__5
-  :: Vector MX -> String -> IO (Vector MX)
-dpleOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleOut__6" c_dpleOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-dpleOut__6
-  :: Vector SX -> IO (Vector SX)
-dpleOut__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleOut__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleOut__7" c_dpleOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-dpleOut__7
-  :: Vector SX -> String -> IO (Vector SX)
-dpleOut__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleOut__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleStruct__0" c_dpleStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-dpleStruct__0
-  :: Vector (Vector Sparsity) -> IO (Vector (Vector Sparsity))
-dpleStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleStruct__1" c_dpleStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-dpleStruct__1
-  :: Vector (Vector Sparsity) -> String -> IO (Vector (Vector Sparsity))
-dpleStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "dpleStruct__2" c_dpleStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-dpleStruct__2
-  :: Vector (Vector Sparsity) -> String -> String -> IO (Vector (Vector Sparsity))
-dpleStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_dpleStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "eig_symbolic" c_eig_symbolic
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Attempts to find the eigenvalues of a symbolic matrix This will only work
->for up to 3x3 matrices.
->
->Bring m in block diagonal form, calculating eigenvalues of each block
->separately 
--}
-eig_symbolic
-  :: SX -> IO SX
-eig_symbolic x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_eig_symbolic errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "evalf__0" c_evalf__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Substitute variable v with value vdef in an expression ex, and evaluate
->numerically Note: this is not efficient. For critical parts (loops) of your
->code, always use SXFunction.
--}
-evalf__0
-  :: SX -> SX -> DMatrix -> IO DMatrix
-evalf__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_evalf__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "evalf__1" c_evalf__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr DMatrix')
-{-|
->Evaluate an SX graph numerically Note: this is not efficient. For critical
->parts (loops) of your code, always use SXFunction.
--}
-evalf__1
-  :: SX -> IO DMatrix
-evalf__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_evalf__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "expand" c_expand
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-{-|
->Expand the expression as a weighted sum (with constant weights)
--}
-expand
-  :: SX -> SX -> SX -> IO ()
-expand x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_expand errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "explicitRK__0" c_explicitRK__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-{-|
->Construct an explicit Runge-Kutta integrator.
->
->Parameters:
->-----------
->
->f:  dynamical system
->
->>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
->
->+-----------+-------+----------------------------+
->| Full name | Short |        Description         |
->+===========+=======+============================+
->| DAE_X     | x     | Differential state .       |
->+-----------+-------+----------------------------+
->| DAE_Z     | z     | Algebraic state .          |
->+-----------+-------+----------------------------+
->| DAE_P     | p     | Parameter .                |
->+-----------+-------+----------------------------+
->| DAE_T     | t     | Explicit time dependence . |
->+-----------+-------+----------------------------+
->
->>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
->
->+-----------+-------+--------------------------------------------+
->| Full name | Short |                Description                 |
->+===========+=======+============================================+
->| DAE_ODE   | ode   | Right hand side of the implicit ODE .      |
->+-----------+-------+--------------------------------------------+
->| DAE_ALG   | alg   | Right hand side of algebraic equations .   |
->+-----------+-------+--------------------------------------------+
->| DAE_QUAD  | quad  | Right hand side of quadratures equations . |
->+-----------+-------+--------------------------------------------+
->
->Parameters:
->-----------
->
->tf:  Integration end time
->
->order:  Order of integration
->
->ne:  Number of times the RK primitive is repeated over the integration
->interval
--}
-explicitRK__0
-  :: Function -> IO Function
-explicitRK__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_explicitRK__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "explicitRK__1" c_explicitRK__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr MX' -> IO (Ptr Function')
-{-|
->Construct an explicit Runge-Kutta integrator.
->
->Parameters:
->-----------
->
->f:  dynamical system
->
->>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
->
->+-----------+-------+----------------------------+
->| Full name | Short |        Description         |
->+===========+=======+============================+
->| DAE_X     | x     | Differential state .       |
->+-----------+-------+----------------------------+
->| DAE_Z     | z     | Algebraic state .          |
->+-----------+-------+----------------------------+
->| DAE_P     | p     | Parameter .                |
->+-----------+-------+----------------------------+
->| DAE_T     | t     | Explicit time dependence . |
->+-----------+-------+----------------------------+
->
->>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
->
->+-----------+-------+--------------------------------------------+
->| Full name | Short |                Description                 |
->+===========+=======+============================================+
->| DAE_ODE   | ode   | Right hand side of the implicit ODE .      |
->+-----------+-------+--------------------------------------------+
->| DAE_ALG   | alg   | Right hand side of algebraic equations .   |
->+-----------+-------+--------------------------------------------+
->| DAE_QUAD  | quad  | Right hand side of quadratures equations . |
->+-----------+-------+--------------------------------------------+
->
->Parameters:
->-----------
->
->tf:  Integration end time
->
->order:  Order of integration
->
->ne:  Number of times the RK primitive is repeated over the integration
->interval
--}
-explicitRK__1
-  :: Function -> MX -> IO Function
-explicitRK__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_explicitRK__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "explicitRK__2" c_explicitRK__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr MX' -> CInt -> IO (Ptr Function')
-{-|
->Construct an explicit Runge-Kutta integrator.
->
->Parameters:
->-----------
->
->f:  dynamical system
->
->>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
->
->+-----------+-------+----------------------------+
->| Full name | Short |        Description         |
->+===========+=======+============================+
->| DAE_X     | x     | Differential state .       |
->+-----------+-------+----------------------------+
->| DAE_Z     | z     | Algebraic state .          |
->+-----------+-------+----------------------------+
->| DAE_P     | p     | Parameter .                |
->+-----------+-------+----------------------------+
->| DAE_T     | t     | Explicit time dependence . |
->+-----------+-------+----------------------------+
->
->>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
->
->+-----------+-------+--------------------------------------------+
->| Full name | Short |                Description                 |
->+===========+=======+============================================+
->| DAE_ODE   | ode   | Right hand side of the implicit ODE .      |
->+-----------+-------+--------------------------------------------+
->| DAE_ALG   | alg   | Right hand side of algebraic equations .   |
->+-----------+-------+--------------------------------------------+
->| DAE_QUAD  | quad  | Right hand side of quadratures equations . |
->+-----------+-------+--------------------------------------------+
->
->Parameters:
->-----------
->
->tf:  Integration end time
->
->order:  Order of integration
->
->ne:  Number of times the RK primitive is repeated over the integration
->interval
--}
-explicitRK__2
-  :: Function -> MX -> Int -> IO Function
-explicitRK__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_explicitRK__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "explicitRK__3" c_explicitRK__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr MX' -> CInt -> CInt -> IO (Ptr Function')
-{-|
->Construct an explicit Runge-Kutta integrator.
->
->Parameters:
->-----------
->
->f:  dynamical system
->
->>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
->
->+-----------+-------+----------------------------+
->| Full name | Short |        Description         |
->+===========+=======+============================+
->| DAE_X     | x     | Differential state .       |
->+-----------+-------+----------------------------+
->| DAE_Z     | z     | Algebraic state .          |
->+-----------+-------+----------------------------+
->| DAE_P     | p     | Parameter .                |
->+-----------+-------+----------------------------+
->| DAE_T     | t     | Explicit time dependence . |
->+-----------+-------+----------------------------+
->
->>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
->
->+-----------+-------+--------------------------------------------+
->| Full name | Short |                Description                 |
->+===========+=======+============================================+
->| DAE_ODE   | ode   | Right hand side of the implicit ODE .      |
->+-----------+-------+--------------------------------------------+
->| DAE_ALG   | alg   | Right hand side of algebraic equations .   |
->+-----------+-------+--------------------------------------------+
->| DAE_QUAD  | quad  | Right hand side of quadratures equations . |
->+-----------+-------+--------------------------------------------+
->
->Parameters:
->-----------
->
->tf:  Integration end time
->
->order:  Order of integration
->
->ne:  Number of times the RK primitive is repeated over the integration
->interval
--}
-explicitRK__3
-  :: Function -> MX -> Int -> Int -> IO Function
-explicitRK__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_explicitRK__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "extractShared__0" c_extractShared__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
-{-|
->Extract shared subexpressions from an set of expressions.
--}
-extractShared__0
-  :: Vector MX -> Vector MX -> Vector MX -> IO ()
-extractShared__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_extractShared__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "extractShared__1" c_extractShared__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO ()
-{-|
->Extract shared subexpressions from an set of expressions.
--}
-extractShared__1
-  :: Vector MX -> Vector MX -> Vector MX -> String -> IO ()
-extractShared__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_extractShared__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "extractShared__2" c_extractShared__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO ()
-{-|
->Extract shared subexpressions from an set of expressions.
--}
-extractShared__2
-  :: Vector MX -> Vector MX -> Vector MX -> String -> String -> IO ()
-extractShared__2 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_extractShared__2 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "extractShared__3" c_extractShared__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> IO ()
-{-|
->Extract shared subexpressions from an set of expressions.
--}
-extractShared__3
-  :: Vector SXElement -> Vector SXElement -> Vector SXElement -> IO ()
-extractShared__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_extractShared__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "extractShared__4" c_extractShared__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> Ptr StdString -> IO ()
-{-|
->Extract shared subexpressions from an set of expressions.
--}
-extractShared__4
-  :: Vector SXElement -> Vector SXElement -> Vector SXElement -> String -> IO ()
-extractShared__4 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_extractShared__4 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "extractShared__5" c_extractShared__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> Ptr (StdVec (Ptr SXElement')) -> Ptr StdString -> Ptr StdString -> IO ()
-{-|
->Extract shared subexpressions from an set of expressions.
--}
-extractShared__5
-  :: Vector SXElement -> Vector SXElement -> Vector SXElement -> String -> String -> IO ()
-extractShared__5 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_extractShared__5 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gauss_quadrature__0" c_gauss_quadrature__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-gauss_quadrature__0
-  :: SX -> SX -> SX -> SX -> IO SX
-gauss_quadrature__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gauss_quadrature__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gauss_quadrature__1" c_gauss_quadrature__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-gauss_quadrature__1
-  :: SX -> SX -> SX -> SX -> Int -> IO SX
-gauss_quadrature__1 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gauss_quadrature__1 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gauss_quadrature__2" c_gauss_quadrature__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr SX' -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-gauss_quadrature__2
-  :: SX -> SX -> SX -> SX -> Int -> SX -> IO SX
-gauss_quadrature__2 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gauss_quadrature__2 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getFree" c_getFree
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Get all the free variables in an expression.
--}
-getFree
-  :: SX -> IO SX
-getFree x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getFree errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getMinor__0" c_getMinor__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SXElement')
-{-|
->Transpose of a matrix.
--}
-getMinor__0
-  :: SX -> Int -> Int -> IO SXElement
-getMinor__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getMinor__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getMinor__1" c_getMinor__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO CDouble
-{-|
->Transpose of a matrix.
--}
-getMinor__1
-  :: DMatrix -> Int -> Int -> IO Double
-getMinor__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getMinor__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getMinor__2" c_getMinor__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO CInt
-{-|
->Transpose of a matrix.
--}
-getMinor__2
-  :: IMatrix -> Int -> Int -> IO Int
-getMinor__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getMinor__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getOperatorRepresentation__0" c_getOperatorRepresentation__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
-{-|
->Get a string representation for a binary MX, using custom arguments.
--}
-getOperatorRepresentation__0
-  :: MX -> Vector String -> IO String
-getOperatorRepresentation__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getOperatorRepresentation__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getOperatorRepresentation__1" c_getOperatorRepresentation__1
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
-{-|
->Get a string representation for a binary SX, using custom arguments.
--}
-getOperatorRepresentation__1
-  :: SXElement -> Vector String -> IO String
-getOperatorRepresentation__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getOperatorRepresentation__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSchemeEntryDoc" c_getSchemeEntryDoc
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr StdString)
-getSchemeEntryDoc
-  :: InputOutputScheme -> Int -> IO String
-getSchemeEntryDoc x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSchemeEntryDoc errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSchemeEntryEnum" c_getSchemeEntryEnum
-  :: Ptr (Ptr StdString) -> CInt -> Ptr StdString -> IO CInt
-getSchemeEntryEnum
-  :: InputOutputScheme -> String -> IO Int
-getSchemeEntryEnum x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSchemeEntryEnum errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSchemeEntryEnumName" c_getSchemeEntryEnumName
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr StdString)
-getSchemeEntryEnumName
-  :: InputOutputScheme -> Int -> IO String
-getSchemeEntryEnumName x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSchemeEntryEnumName errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSchemeEntryName" c_getSchemeEntryName
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr StdString)
-getSchemeEntryName
-  :: InputOutputScheme -> Int -> IO String
-getSchemeEntryName x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSchemeEntryName errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSchemeEntryNames" c_getSchemeEntryNames
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-getSchemeEntryNames
-  :: InputOutputScheme -> IO String
-getSchemeEntryNames x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSchemeEntryNames errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSchemeName" c_getSchemeName
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-getSchemeName
-  :: InputOutputScheme -> IO String
-getSchemeName x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSchemeName errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSchemeSize" c_getSchemeSize
-  :: Ptr (Ptr StdString) -> CInt -> IO CInt
-getSchemeSize
-  :: InputOutputScheme -> IO Int
-getSchemeSize x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSchemeSize errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSymbols__0" c_getSymbols__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->Get all symbols contained in the supplied expression Get all symbols on
->which the supplied expression depends.
->
->See:   MXFunction::getFree()
--}
-getSymbols__0
-  :: Vector MX -> IO (Vector MX)
-getSymbols__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSymbols__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSymbols__1" c_getSymbols__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->Get all symbols contained in the supplied expression Get all symbols on
->which the supplied expression depends.
->
->See:   MXFunction::getFree()
--}
-getSymbols__1
-  :: MX -> IO (Vector MX)
-getSymbols__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSymbols__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "getSymbols__2" c_getSymbols__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SXElement')))
-{-|
->Get all symbols contained in the supplied expression Get all symbols on
->which the supplied expression depends.
->
->See:   SXFunction::getFree()
--}
-getSymbols__2
-  :: SX -> IO (Vector SXElement)
-getSymbols__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_getSymbols__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__0" c_gradFIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-gradFIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-gradFIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__1" c_gradFIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-gradFIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-gradFIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__2" c_gradFIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-gradFIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-gradFIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__3" c_gradFIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-gradFIn__3
-  :: Vector DMatrix -> IO (Vector DMatrix)
-gradFIn__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__4" c_gradFIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-gradFIn__4
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-gradFIn__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__5" c_gradFIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-gradFIn__5
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-gradFIn__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__6" c_gradFIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-gradFIn__6
-  :: Vector MX -> IO (Vector MX)
-gradFIn__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__7" c_gradFIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-gradFIn__7
-  :: Vector MX -> String -> IO (Vector MX)
-gradFIn__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__8" c_gradFIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-gradFIn__8
-  :: Vector MX -> String -> String -> IO (Vector MX)
-gradFIn__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__9" c_gradFIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-gradFIn__9
-  :: Vector SX -> IO (Vector SX)
-gradFIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__10" c_gradFIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-gradFIn__10
-  :: Vector SX -> String -> IO (Vector SX)
-gradFIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFIn__11" c_gradFIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-gradFIn__11
-  :: Vector SX -> String -> String -> IO (Vector SX)
-gradFIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__0" c_gradFOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-gradFOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-gradFOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__1" c_gradFOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-gradFOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-gradFOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__2" c_gradFOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-gradFOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-gradFOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__3" c_gradFOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-gradFOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-gradFOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__4" c_gradFOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-gradFOut__4
-  :: Vector DMatrix -> IO (Vector DMatrix)
-gradFOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__5" c_gradFOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-gradFOut__5
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-gradFOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__6" c_gradFOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-gradFOut__6
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-gradFOut__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__7" c_gradFOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-gradFOut__7
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-gradFOut__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__8" c_gradFOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-gradFOut__8
-  :: Vector MX -> IO (Vector MX)
-gradFOut__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__9" c_gradFOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-gradFOut__9
-  :: Vector MX -> String -> IO (Vector MX)
-gradFOut__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__10" c_gradFOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-gradFOut__10
-  :: Vector MX -> String -> String -> IO (Vector MX)
-gradFOut__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__11" c_gradFOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-gradFOut__11
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-gradFOut__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__12" c_gradFOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-gradFOut__12
-  :: Vector SX -> IO (Vector SX)
-gradFOut__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__13" c_gradFOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-gradFOut__13
-  :: Vector SX -> String -> IO (Vector SX)
-gradFOut__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__14" c_gradFOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-gradFOut__14
-  :: Vector SX -> String -> String -> IO (Vector SX)
-gradFOut__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradFOut__15" c_gradFOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-gradFOut__15
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-gradFOut__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradFOut__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradient__0" c_gradient__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->split horizontally, retaining groups of cols
->
->Parameters:
->-----------
->
->output_offset:  List of all start cols for each group the last col group
->will run to the end.
->
->horzcat(horzsplit(x, ...)) = x
--}
-gradient__0
-  :: MX -> MX -> IO MX
-gradient__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradient__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "gradient__1" c_gradient__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-gradient__1
-  :: SX -> SX -> IO SX
-gradient__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_gradient__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "graph_substitute__0" c_graph_substitute__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->Substitute variable var with expression expr in multiple expressions,
->preserving nodes.
--}
-graph_substitute__0
-  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
-graph_substitute__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_graph_substitute__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "graph_substitute__1" c_graph_substitute__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Substitute variable v with expression vdef in an expression ex, preserving
->nodes.
--}
-graph_substitute__1
-  :: MX -> Vector MX -> Vector MX -> IO MX
-graph_substitute__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_graph_substitute__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "heaviside" c_heaviside
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Heaviside function.
->
->\\\\[ \\\\begin {cases} H(x) = 0 & x<0 \\\\\\\\ H(x) = 1/2 & x=0 \\\\\\\\
->H(x) = 1 & x>0 \\\\\\\\ \\\\end {cases} \\\\]
--}
-heaviside
-  :: SX -> IO SX
-heaviside x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_heaviside errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__0" c_hessLagIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-hessLagIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__1" c_hessLagIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-hessLagIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__2" c_hessLagIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-hessLagIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__3" c_hessLagIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-hessLagIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__4" c_hessLagIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-hessLagIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__5" c_hessLagIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagIn__5
-  :: Vector DMatrix -> IO (Vector DMatrix)
-hessLagIn__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__6" c_hessLagIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagIn__6
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-hessLagIn__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__7" c_hessLagIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagIn__7
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-hessLagIn__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__8" c_hessLagIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagIn__8
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-hessLagIn__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__9" c_hessLagIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagIn__9
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-hessLagIn__9 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__9 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__10" c_hessLagIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-hessLagIn__10
-  :: Vector MX -> IO (Vector MX)
-hessLagIn__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__11" c_hessLagIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagIn__11
-  :: Vector MX -> String -> IO (Vector MX)
-hessLagIn__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__12" c_hessLagIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagIn__12
-  :: Vector MX -> String -> String -> IO (Vector MX)
-hessLagIn__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__13" c_hessLagIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagIn__13
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-hessLagIn__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__14" c_hessLagIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagIn__14
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-hessLagIn__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__15" c_hessLagIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-hessLagIn__15
-  :: Vector SX -> IO (Vector SX)
-hessLagIn__15 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__15 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__16" c_hessLagIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagIn__16
-  :: Vector SX -> String -> IO (Vector SX)
-hessLagIn__16 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__16 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__17" c_hessLagIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagIn__17
-  :: Vector SX -> String -> String -> IO (Vector SX)
-hessLagIn__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__18" c_hessLagIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagIn__18
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-hessLagIn__18 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__18 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagIn__19" c_hessLagIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagIn__19
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-hessLagIn__19 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagIn__19 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__0" c_hessLagOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-hessLagOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__1" c_hessLagOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-hessLagOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__2" c_hessLagOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-hessLagOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__3" c_hessLagOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-hessLagOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__4" c_hessLagOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-hessLagOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__5" c_hessLagOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hessLagOut__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-hessLagOut__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__6" c_hessLagOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagOut__6
-  :: Vector DMatrix -> IO (Vector DMatrix)
-hessLagOut__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__7" c_hessLagOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagOut__7
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-hessLagOut__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__8" c_hessLagOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagOut__8
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-hessLagOut__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__9" c_hessLagOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagOut__9
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-hessLagOut__9 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__9 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__10" c_hessLagOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagOut__10
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-hessLagOut__10 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__10 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__11" c_hessLagOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hessLagOut__11
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-hessLagOut__11 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__11 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__12" c_hessLagOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-hessLagOut__12
-  :: Vector MX -> IO (Vector MX)
-hessLagOut__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__13" c_hessLagOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagOut__13
-  :: Vector MX -> String -> IO (Vector MX)
-hessLagOut__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__14" c_hessLagOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagOut__14
-  :: Vector MX -> String -> String -> IO (Vector MX)
-hessLagOut__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__15" c_hessLagOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagOut__15
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-hessLagOut__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__16" c_hessLagOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagOut__16
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-hessLagOut__16 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__16 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__17" c_hessLagOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hessLagOut__17
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-hessLagOut__17 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__17 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__18" c_hessLagOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-hessLagOut__18
-  :: Vector SX -> IO (Vector SX)
-hessLagOut__18 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__18 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__19" c_hessLagOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagOut__19
-  :: Vector SX -> String -> IO (Vector SX)
-hessLagOut__19 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__19 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__20" c_hessLagOut__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagOut__20
-  :: Vector SX -> String -> String -> IO (Vector SX)
-hessLagOut__20 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__20 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__21" c_hessLagOut__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagOut__21
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-hessLagOut__21 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__21 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__22" c_hessLagOut__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagOut__22
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-hessLagOut__22 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__22 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessLagOut__23" c_hessLagOut__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hessLagOut__23
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-hessLagOut__23 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessLagOut__23 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessian__0" c_hessian__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-hessian__0
-  :: SX -> SX -> SX -> SX -> IO ()
-hessian__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessian__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hessian__1" c_hessian__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-hessian__1
-  :: SX -> SX -> IO SX
-hessian__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hessian__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__0" c_hnlpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-hnlpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-hnlpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__1" c_hnlpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hnlpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-hnlpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__2" c_hnlpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hnlpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-hnlpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__3" c_hnlpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-hnlpIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-hnlpIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__4" c_hnlpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-hnlpIn__4
-  :: Vector DMatrix -> IO (Vector DMatrix)
-hnlpIn__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__5" c_hnlpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hnlpIn__5
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-hnlpIn__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__6" c_hnlpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hnlpIn__6
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-hnlpIn__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__7" c_hnlpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-hnlpIn__7
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-hnlpIn__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__8" c_hnlpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-hnlpIn__8
-  :: Vector MX -> IO (Vector MX)
-hnlpIn__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__9" c_hnlpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hnlpIn__9
-  :: Vector MX -> String -> IO (Vector MX)
-hnlpIn__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__10" c_hnlpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hnlpIn__10
-  :: Vector MX -> String -> String -> IO (Vector MX)
-hnlpIn__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__11" c_hnlpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-hnlpIn__11
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-hnlpIn__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__12" c_hnlpIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-hnlpIn__12
-  :: Vector SX -> IO (Vector SX)
-hnlpIn__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__13" c_hnlpIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hnlpIn__13
-  :: Vector SX -> String -> IO (Vector SX)
-hnlpIn__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__14" c_hnlpIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hnlpIn__14
-  :: Vector SX -> String -> String -> IO (Vector SX)
-hnlpIn__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "hnlpIn__15" c_hnlpIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-hnlpIn__15
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-hnlpIn__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_hnlpIn__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzcat__0" c_horzcat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->concatenate horizontally
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzcat__0
-  :: Vector MX -> IO MX
-horzcat__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzcat__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzcat__1" c_horzcat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-{-|
->Concatenate a list of sparsities horizontally Alternative terminology:
->horizontal stack, hstack, horizontal append, [a b].
--}
-horzcat__1
-  :: Vector Sparsity -> IO Sparsity
-horzcat__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzcat__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzcat__2" c_horzcat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-{-|
->Concatenate a list of matrices horizontally Alternative terminology:
->horizontal stack, hstack, horizontal append, [a b].
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzcat__2
-  :: Vector SX -> IO SX
-horzcat__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzcat__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzcat__3" c_horzcat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-{-|
->Concatenate a list of matrices horizontally Alternative terminology:
->horizontal stack, hstack, horizontal append, [a b].
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzcat__3
-  :: Vector DMatrix -> IO DMatrix
-horzcat__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzcat__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzcat__4" c_horzcat__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->Concatenate a list of matrices horizontally Alternative terminology:
->horizontal stack, hstack, horizontal append, [a b].
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzcat__4
-  :: Vector IMatrix -> IO IMatrix
-horzcat__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzcat__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__0" c_horzsplit__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split horizontally, retaining fixed-sized groups of cols
->
->Parameters:
->-----------
->
->incr:  Size of each group of cols
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__0
-  :: MX -> IO (Vector MX)
-horzsplit__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__1" c_horzsplit__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split horizontally, retaining fixed-sized groups of cols
->
->Parameters:
->-----------
->
->incr:  Size of each group of cols
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__1
-  :: MX -> Int -> IO (Vector MX)
-horzsplit__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__2" c_horzsplit__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split horizontally, retaining groups of cols
->
->Parameters:
->-----------
->
->output_offset:  List of all start cols for each group the last col group
->will run to the end.
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__2
-  :: MX -> Vector Int -> IO (Vector MX)
-horzsplit__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__3" c_horzsplit__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
-{-|
->Split up a sparsity pattern horizontally.
--}
-horzsplit__3
-  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
-horzsplit__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__4" c_horzsplit__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split horizontally, retaining fixed-sized groups of columns
->
->Parameters:
->-----------
->
->incr:  Size of each group of columns
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__4
-  :: SX -> IO (Vector SX)
-horzsplit__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__5" c_horzsplit__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split horizontally, retaining fixed-sized groups of columns
->
->Parameters:
->-----------
->
->incr:  Size of each group of columns
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__5
-  :: SX -> Int -> IO (Vector SX)
-horzsplit__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__6" c_horzsplit__6
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split horizontally, retaining groups of columns
->
->Parameters:
->-----------
->
->offset:  List of all start columns for each group the last column group will
->run to the end.
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__6
-  :: SX -> Vector Int -> IO (Vector SX)
-horzsplit__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__7" c_horzsplit__7
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split horizontally, retaining fixed-sized groups of columns
->
->Parameters:
->-----------
->
->incr:  Size of each group of columns
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__7
-  :: DMatrix -> IO (Vector DMatrix)
-horzsplit__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__8" c_horzsplit__8
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split horizontally, retaining fixed-sized groups of columns
->
->Parameters:
->-----------
->
->incr:  Size of each group of columns
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__8
-  :: DMatrix -> Int -> IO (Vector DMatrix)
-horzsplit__8 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__8 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__9" c_horzsplit__9
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split horizontally, retaining groups of columns
->
->Parameters:
->-----------
->
->offset:  List of all start columns for each group the last column group will
->run to the end.
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__9
-  :: DMatrix -> Vector Int -> IO (Vector DMatrix)
-horzsplit__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__10" c_horzsplit__10
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split horizontally, retaining fixed-sized groups of columns
->
->Parameters:
->-----------
->
->incr:  Size of each group of columns
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__10
-  :: IMatrix -> IO (Vector IMatrix)
-horzsplit__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__11" c_horzsplit__11
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split horizontally, retaining fixed-sized groups of columns
->
->Parameters:
->-----------
->
->incr:  Size of each group of columns
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__11
-  :: IMatrix -> Int -> IO (Vector IMatrix)
-horzsplit__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "horzsplit__12" c_horzsplit__12
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split horizontally, retaining groups of columns
->
->Parameters:
->-----------
->
->offset:  List of all start columns for each group the last column group will
->run to the end.
->
->horzcat(horzsplit(x, ...)) = x
--}
-horzsplit__12
-  :: IMatrix -> Vector Int -> IO (Vector IMatrix)
-horzsplit__12 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_horzsplit__12 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "if_else__0" c_if_else__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Branching on MX nodes Ternary operator, "cond ? if_true : if_false".
--}
-if_else__0
-  :: MX -> MX -> MX -> IO MX
-if_else__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_if_else__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "if_else__1" c_if_else__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-if_else__1
-  :: SX -> SX -> SX -> IO SX
-if_else__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_if_else__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "implicitRK" c_implicitRK
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
-{-|
->Construct an implicit Runge-Kutta integrator.
->
->Parameters:
->-----------
->
->f:  dynamical system
->
->>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]
->
->+-----------+-------+----------------------------+
->| Full name | Short |        Description         |
->+===========+=======+============================+
->| DAE_X     | x     | Differential state .       |
->+-----------+-------+----------------------------+
->| DAE_Z     | z     | Algebraic state .          |
->+-----------+-------+----------------------------+
->| DAE_P     | p     | Parameter .                |
->+-----------+-------+----------------------------+
->| DAE_T     | t     | Explicit time dependence . |
->+-----------+-------+----------------------------+
->
->>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]
->
->+-----------+-------+--------------------------------------------+
->| Full name | Short |                Description                 |
->+===========+=======+============================================+
->| DAE_ODE   | ode   | Right hand side of the implicit ODE .      |
->+-----------+-------+--------------------------------------------+
->| DAE_ALG   | alg   | Right hand side of algebraic equations .   |
->+-----------+-------+--------------------------------------------+
->| DAE_QUAD  | quad  | Right hand side of quadratures equations . |
->+-----------+-------+--------------------------------------------+
->
->Parameters:
->-----------
->
->tf:  Integration end time
->
->order:  Order of integration
->
->scheme:  Collocation scheme, as excepted by collocationPoints function.
->
->ne:  Number of times the RK primitive is repeated over the integration
->interval
--}
-implicitRK
-  :: Function -> String -> IO Function
-implicitRK x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_implicitRK errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "inner_prod__0" c_inner_prod__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Take the inner product of two vectors Equals.
->
->with x and y vectors
--}
-inner_prod__0
-  :: MX -> MX -> IO MX
-inner_prod__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_inner_prod__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "inner_prod__1" c_inner_prod__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Inner product of two matrices Equals.
->
->with x and y matrices of the same dimension
--}
-inner_prod__1
-  :: SX -> SX -> IO SX
-inner_prod__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_inner_prod__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "inner_prod__2" c_inner_prod__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Inner product of two matrices Equals.
->
->with x and y matrices of the same dimension
--}
-inner_prod__2
-  :: DMatrix -> DMatrix -> IO DMatrix
-inner_prod__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_inner_prod__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "inner_prod__3" c_inner_prod__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Inner product of two matrices Equals.
->
->with x and y matrices of the same dimension
--}
-inner_prod__3
-  :: IMatrix -> IMatrix -> IO IMatrix
-inner_prod__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_inner_prod__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__0" c_integratorIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-integratorIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__1" c_integratorIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-integratorIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__2" c_integratorIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-integratorIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__3" c_integratorIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-integratorIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__4" c_integratorIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-integratorIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__5" c_integratorIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-integratorIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__6" c_integratorIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-integratorIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__7" c_integratorIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorIn__7
-  :: Vector DMatrix -> IO (Vector DMatrix)
-integratorIn__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__8" c_integratorIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorIn__8
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-integratorIn__8 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__8 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__9" c_integratorIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorIn__9
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-integratorIn__9 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__9 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__10" c_integratorIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorIn__10
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-integratorIn__10 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__10 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__11" c_integratorIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorIn__11
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-integratorIn__11 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__11 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__12" c_integratorIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorIn__12
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-integratorIn__12 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__12 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__13" c_integratorIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorIn__13
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-integratorIn__13 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__13 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__14" c_integratorIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-integratorIn__14
-  :: Vector MX -> IO (Vector MX)
-integratorIn__14 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__14 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__15" c_integratorIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorIn__15
-  :: Vector MX -> String -> IO (Vector MX)
-integratorIn__15 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__15 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__16" c_integratorIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorIn__16
-  :: Vector MX -> String -> String -> IO (Vector MX)
-integratorIn__16 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__16 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__17" c_integratorIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorIn__17
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-integratorIn__17 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__17 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__18" c_integratorIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorIn__18
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-integratorIn__18 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__18 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__19" c_integratorIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorIn__19
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-integratorIn__19 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__19 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__20" c_integratorIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorIn__20
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-integratorIn__20 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__21" c_integratorIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-integratorIn__21
-  :: Vector SX -> IO (Vector SX)
-integratorIn__21 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__21 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__22" c_integratorIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorIn__22
-  :: Vector SX -> String -> IO (Vector SX)
-integratorIn__22 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__22 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__23" c_integratorIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorIn__23
-  :: Vector SX -> String -> String -> IO (Vector SX)
-integratorIn__23 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__23 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__24" c_integratorIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorIn__24
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-integratorIn__24 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__24 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__25" c_integratorIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorIn__25
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-integratorIn__25 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__25 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__26" c_integratorIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorIn__26
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-integratorIn__26 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__26 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorIn__27" c_integratorIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorIn__27
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-integratorIn__27 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__0" c_integratorOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-integratorOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__1" c_integratorOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-integratorOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__2" c_integratorOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-integratorOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__3" c_integratorOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-integratorOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__4" c_integratorOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-integratorOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__5" c_integratorOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorOut__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-integratorOut__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__6" c_integratorOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-integratorOut__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-integratorOut__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__7" c_integratorOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorOut__7
-  :: Vector DMatrix -> IO (Vector DMatrix)
-integratorOut__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__8" c_integratorOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorOut__8
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-integratorOut__8 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__8 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__9" c_integratorOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorOut__9
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-integratorOut__9 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__9 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__10" c_integratorOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorOut__10
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-integratorOut__10 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__10 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__11" c_integratorOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorOut__11
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-integratorOut__11 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__11 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__12" c_integratorOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorOut__12
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-integratorOut__12 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__12 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__13" c_integratorOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-integratorOut__13
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-integratorOut__13 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__13 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__14" c_integratorOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-integratorOut__14
-  :: Vector MX -> IO (Vector MX)
-integratorOut__14 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__14 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__15" c_integratorOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorOut__15
-  :: Vector MX -> String -> IO (Vector MX)
-integratorOut__15 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__15 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__16" c_integratorOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorOut__16
-  :: Vector MX -> String -> String -> IO (Vector MX)
-integratorOut__16 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__16 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__17" c_integratorOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorOut__17
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-integratorOut__17 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__17 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__18" c_integratorOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorOut__18
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-integratorOut__18 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__18 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__19" c_integratorOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorOut__19
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-integratorOut__19 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__19 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__20" c_integratorOut__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-integratorOut__20
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-integratorOut__20 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__21" c_integratorOut__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-integratorOut__21
-  :: Vector SX -> IO (Vector SX)
-integratorOut__21 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__21 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__22" c_integratorOut__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorOut__22
-  :: Vector SX -> String -> IO (Vector SX)
-integratorOut__22 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__22 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__23" c_integratorOut__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorOut__23
-  :: Vector SX -> String -> String -> IO (Vector SX)
-integratorOut__23 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__23 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__24" c_integratorOut__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorOut__24
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-integratorOut__24 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__24 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__25" c_integratorOut__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorOut__25
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-integratorOut__25 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__25 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__26" c_integratorOut__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorOut__26
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-integratorOut__26 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__26 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "integratorOut__27" c_integratorOut__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-integratorOut__27
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-integratorOut__27 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_integratorOut__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "inv__0" c_inv__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Matrix inverse (experimental)
--}
-inv__0
-  :: MX -> IO MX
-inv__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_inv__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "inv__1" c_inv__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Transpose of a matrix.
--}
-inv__1
-  :: SX -> IO SX
-inv__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_inv__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "inv__2" c_inv__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Transpose of a matrix.
--}
-inv__2
-  :: DMatrix -> IO DMatrix
-inv__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_inv__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "inv__3" c_inv__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Transpose of a matrix.
--}
-inv__3
-  :: IMatrix -> IO IMatrix
-inv__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_inv__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isDecreasing__0" c_isDecreasing__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
-{-|
->Check if the vector is strictly decreasing.
--}
-isDecreasing__0
-  :: Vector Double -> IO Bool
-isDecreasing__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isDecreasing__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isDecreasing__1" c_isDecreasing__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->Check if the vector is strictly decreasing.
--}
-isDecreasing__1
-  :: Vector Int -> IO Bool
-isDecreasing__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isDecreasing__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isEqual__0" c_isEqual__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO CInt
-{-|
->Check if two expressions are equal, assuming that they are comparable.
--}
-isEqual__0
-  :: MX -> MX -> IO Bool
-isEqual__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isEqual__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isEqual__1" c_isEqual__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
-{-|
->Check if two expressions are equal, assuming that they are comparable.
--}
-isEqual__1
-  :: SX -> SX -> IO Bool
-isEqual__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isEqual__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isEqual__2" c_isEqual__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO CInt
-{-|
->Check if two expressions are equal, assuming that they are comparable.
--}
-isEqual__2
-  :: DMatrix -> DMatrix -> IO Bool
-isEqual__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isEqual__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isEqual__3" c_isEqual__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO CInt
-{-|
->Check if two expressions are equal, assuming that they are comparable.
--}
-isEqual__3
-  :: IMatrix -> IMatrix -> IO Bool
-isEqual__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isEqual__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isIncreasing__0" c_isIncreasing__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
-{-|
->Check if the vector is strictly increasing.
--}
-isIncreasing__0
-  :: Vector Double -> IO Bool
-isIncreasing__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isIncreasing__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isIncreasing__1" c_isIncreasing__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->Check if the vector is strictly increasing.
--}
-isIncreasing__1
-  :: Vector Int -> IO Bool
-isIncreasing__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isIncreasing__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isMonotone__0" c_isMonotone__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
-{-|
->Check if the vector is monotone.
--}
-isMonotone__0
-  :: Vector Double -> IO Bool
-isMonotone__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isMonotone__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isMonotone__1" c_isMonotone__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->Check if the vector is monotone.
--}
-isMonotone__1
-  :: Vector Int -> IO Bool
-isMonotone__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isMonotone__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isNonDecreasing__0" c_isNonDecreasing__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
-{-|
->Check if the vector is non-decreasing.
--}
-isNonDecreasing__0
-  :: Vector Double -> IO Bool
-isNonDecreasing__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isNonDecreasing__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isNonDecreasing__1" c_isNonDecreasing__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->Check if the vector is non-decreasing.
--}
-isNonDecreasing__1
-  :: Vector Int -> IO Bool
-isNonDecreasing__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isNonDecreasing__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isNonIncreasing__0" c_isNonIncreasing__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
-{-|
->Check if the vector is non-increasing.
--}
-isNonIncreasing__0
-  :: Vector Double -> IO Bool
-isNonIncreasing__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isNonIncreasing__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isNonIncreasing__1" c_isNonIncreasing__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->Check if the vector is non-increasing.
--}
-isNonIncreasing__1
-  :: Vector Int -> IO Bool
-isNonIncreasing__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isNonIncreasing__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isRegular__0" c_isRegular__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
-{-|
->Checks if vector does not contain NaN or Inf.
--}
-isRegular__0
-  :: Vector Double -> IO Bool
-isRegular__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isRegular__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isRegular__1" c_isRegular__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->Checks if vector does not contain NaN or Inf.
--}
-isRegular__1
-  :: Vector Int -> IO Bool
-isRegular__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isRegular__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isStrictlyMonotone__0" c_isStrictlyMonotone__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
-{-|
->Check if the vector is strictly monotone.
--}
-isStrictlyMonotone__0
-  :: Vector Double -> IO Bool
-isStrictlyMonotone__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isStrictlyMonotone__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "isStrictlyMonotone__1" c_isStrictlyMonotone__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->Check if the vector is strictly monotone.
--}
-isStrictlyMonotone__1
-  :: Vector Int -> IO Bool
-isStrictlyMonotone__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_isStrictlyMonotone__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__0" c_jacGIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-jacGIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-jacGIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__1" c_jacGIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-jacGIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-jacGIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__2" c_jacGIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-jacGIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-jacGIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__3" c_jacGIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-jacGIn__3
-  :: Vector DMatrix -> IO (Vector DMatrix)
-jacGIn__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__4" c_jacGIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-jacGIn__4
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-jacGIn__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__5" c_jacGIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-jacGIn__5
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-jacGIn__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__6" c_jacGIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-jacGIn__6
-  :: Vector MX -> IO (Vector MX)
-jacGIn__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__7" c_jacGIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-jacGIn__7
-  :: Vector MX -> String -> IO (Vector MX)
-jacGIn__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__8" c_jacGIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-jacGIn__8
-  :: Vector MX -> String -> String -> IO (Vector MX)
-jacGIn__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__9" c_jacGIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-jacGIn__9
-  :: Vector SX -> IO (Vector SX)
-jacGIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__10" c_jacGIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-jacGIn__10
-  :: Vector SX -> String -> IO (Vector SX)
-jacGIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGIn__11" c_jacGIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-jacGIn__11
-  :: Vector SX -> String -> String -> IO (Vector SX)
-jacGIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__0" c_jacGOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-jacGOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-jacGOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__1" c_jacGOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-jacGOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-jacGOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__2" c_jacGOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-jacGOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-jacGOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__3" c_jacGOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-jacGOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-jacGOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__4" c_jacGOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-jacGOut__4
-  :: Vector DMatrix -> IO (Vector DMatrix)
-jacGOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__5" c_jacGOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-jacGOut__5
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-jacGOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__6" c_jacGOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-jacGOut__6
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-jacGOut__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__7" c_jacGOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-jacGOut__7
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-jacGOut__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__8" c_jacGOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-jacGOut__8
-  :: Vector MX -> IO (Vector MX)
-jacGOut__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__9" c_jacGOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-jacGOut__9
-  :: Vector MX -> String -> IO (Vector MX)
-jacGOut__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__10" c_jacGOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-jacGOut__10
-  :: Vector MX -> String -> String -> IO (Vector MX)
-jacGOut__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__11" c_jacGOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-jacGOut__11
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-jacGOut__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__12" c_jacGOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-jacGOut__12
-  :: Vector SX -> IO (Vector SX)
-jacGOut__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__13" c_jacGOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-jacGOut__13
-  :: Vector SX -> String -> IO (Vector SX)
-jacGOut__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__14" c_jacGOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-jacGOut__14
-  :: Vector SX -> String -> String -> IO (Vector SX)
-jacGOut__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacGOut__15" c_jacGOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-jacGOut__15
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-jacGOut__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacGOut__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacobian__0" c_jacobian__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Calculate jacobian via source code transformation.
->
->Uses casadi::MXFunction::jac
--}
-jacobian__0
-  :: MX -> MX -> IO MX
-jacobian__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacobian__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacobian__1" c_jacobian__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Calculate jacobian via source code transformation.
->
->Uses casadi::SXFunction::jac
--}
-jacobian__1
-  :: SX -> SX -> IO SX
-jacobian__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacobian__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacobianTimesVector__0" c_jacobianTimesVector__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Calculate the Jacobian and multiply by a vector from the right This is
->equivalent to mul(jacobian(ex, arg), v) or mul(jacobian(ex, arg).T, v) for
->transpose_jacobian set to false and true respectively. If contrast to these
->expressions, it will use directional derivatives which is typically (but not
->necessarily) more efficient if the complete Jacobian is not needed and v has
->few rows.
--}
-jacobianTimesVector__0
-  :: SX -> SX -> SX -> IO SX
-jacobianTimesVector__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacobianTimesVector__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "jacobianTimesVector__1" c_jacobianTimesVector__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->Calculate the Jacobian and multiply by a vector from the right This is
->equivalent to mul(jacobian(ex, arg), v) or mul(jacobian(ex, arg).T, v) for
->transpose_jacobian set to false and true respectively. If contrast to these
->expressions, it will use directional derivatives which is typically (but not
->necessarily) more efficient if the complete Jacobian is not needed and v has
->few rows.
--}
-jacobianTimesVector__1
-  :: SX -> SX -> SX -> Bool -> IO SX
-jacobianTimesVector__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_jacobianTimesVector__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "kron__0" c_kron__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Kronecker tensor product.
->
->Creates a block matrix in which each element (i, j) is a_ij*b
--}
-kron__0
-  :: MX -> MX -> IO MX
-kron__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_kron__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "kron__1" c_kron__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Kronecker tensor product.
->
->Creates a block matrix in which each element (i, j) is a_ij*b
--}
-kron__1
-  :: SX -> SX -> IO SX
-kron__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_kron__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "kron__2" c_kron__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Kronecker tensor product.
->
->Creates a block matrix in which each element (i, j) is a_ij*b
--}
-kron__2
-  :: DMatrix -> DMatrix -> IO DMatrix
-kron__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_kron__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "kron__3" c_kron__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Kronecker tensor product.
->
->Creates a block matrix in which each element (i, j) is a_ij*b
--}
-kron__3
-  :: IMatrix -> IMatrix -> IO IMatrix
-kron__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_kron__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__0" c_linsolIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-linsolIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-linsolIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__1" c_linsolIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-linsolIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-linsolIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__2" c_linsolIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-linsolIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-linsolIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__3" c_linsolIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-linsolIn__3
-  :: Vector DMatrix -> IO (Vector DMatrix)
-linsolIn__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__4" c_linsolIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-linsolIn__4
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-linsolIn__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__5" c_linsolIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-linsolIn__5
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-linsolIn__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__6" c_linsolIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-linsolIn__6
-  :: Vector MX -> IO (Vector MX)
-linsolIn__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__7" c_linsolIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-linsolIn__7
-  :: Vector MX -> String -> IO (Vector MX)
-linsolIn__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__8" c_linsolIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-linsolIn__8
-  :: Vector MX -> String -> String -> IO (Vector MX)
-linsolIn__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__9" c_linsolIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-linsolIn__9
-  :: Vector SX -> IO (Vector SX)
-linsolIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__10" c_linsolIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-linsolIn__10
-  :: Vector SX -> String -> IO (Vector SX)
-linsolIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolIn__11" c_linsolIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-linsolIn__11
-  :: Vector SX -> String -> String -> IO (Vector SX)
-linsolIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolOut__0" c_linsolOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-linsolOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-linsolOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolOut__1" c_linsolOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-linsolOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-linsolOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolOut__2" c_linsolOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-linsolOut__2
-  :: Vector DMatrix -> IO (Vector DMatrix)
-linsolOut__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolOut__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolOut__3" c_linsolOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-linsolOut__3
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-linsolOut__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolOut__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolOut__4" c_linsolOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-linsolOut__4
-  :: Vector MX -> IO (Vector MX)
-linsolOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolOut__5" c_linsolOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-linsolOut__5
-  :: Vector MX -> String -> IO (Vector MX)
-linsolOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolOut__6" c_linsolOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-linsolOut__6
-  :: Vector SX -> IO (Vector SX)
-linsolOut__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolOut__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linsolOut__7" c_linsolOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-linsolOut__7
-  :: Vector SX -> String -> IO (Vector SX)
-linsolOut__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linsolOut__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linspace__0" c_linspace__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
-{-|
->Matlab's linspace command.
--}
-linspace__0
-  :: MX -> MX -> Int -> IO MX
-linspace__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linspace__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linspace__1" c_linspace__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->Matlab's linspace command.
--}
-linspace__1
-  :: SX -> SX -> Int -> IO SX
-linspace__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linspace__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "linspace__2" c_linspace__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-{-|
->Matlab's linspace command.
--}
-linspace__2
-  :: DMatrix -> DMatrix -> Int -> IO DMatrix
-linspace__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_linspace__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_and__0" c_logic_and__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-{-|
->Logical and, returns (an expression evaluating to) 1 if both expressions are
->nonzero and 0 otherwise.
--}
-logic_and__0
-  :: SXElement -> SXElement -> IO SXElement
-logic_and__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_and__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_and__1" c_logic_and__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Logical and, returns (an expression evaluating to) 1 if both expressions are
->nonzero and 0 otherwise.
--}
-logic_and__1
-  :: MX -> MX -> IO MX
-logic_and__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_and__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_and__2" c_logic_and__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Logical and, returns (an expression evaluating to) 1 if both expressions are
->nonzero and 0 otherwise.
--}
-logic_and__2
-  :: SX -> SX -> IO SX
-logic_and__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_and__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_and__3" c_logic_and__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Logical and, returns (an expression evaluating to) 1 if both expressions are
->nonzero and 0 otherwise.
--}
-logic_and__3
-  :: DMatrix -> DMatrix -> IO DMatrix
-logic_and__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_and__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_and__4" c_logic_and__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Logical and, returns (an expression evaluating to) 1 if both expressions are
->nonzero and 0 otherwise.
--}
-logic_and__4
-  :: IMatrix -> IMatrix -> IO IMatrix
-logic_and__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_and__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_and__5" c_logic_and__5
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-{-|
->Logical and, returns (an expression evaluating to) 1 if both expressions are
->nonzero and 0 otherwise.
--}
-logic_and__5
-  :: Double -> Double -> IO Double
-logic_and__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_and__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_and__6" c_logic_and__6
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO CInt
-{-|
->Logical and, returns (an expression evaluating to) 1 if both expressions are
->nonzero and 0 otherwise.
--}
-logic_and__6
-  :: Int -> Int -> IO Int
-logic_and__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_and__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_not__0" c_logic_not__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr SXElement')
-{-|
->Logical not, returns (an expression evaluating to) 1 if expression is zero
->and 0 otherwise.
--}
-logic_not__0
-  :: SXElement -> IO SXElement
-logic_not__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_not__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_not__1" c_logic_not__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Logical not, returns (an expression evaluating to) 1 if expression is zero
->and 0 otherwise.
--}
-logic_not__1
-  :: MX -> IO MX
-logic_not__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_not__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_not__2" c_logic_not__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Logical not, returns (an expression evaluating to) 1 if expression is zero
->and 0 otherwise.
--}
-logic_not__2
-  :: SX -> IO SX
-logic_not__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_not__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_not__3" c_logic_not__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Logical not, returns (an expression evaluating to) 1 if expression is zero
->and 0 otherwise.
--}
-logic_not__3
-  :: DMatrix -> IO DMatrix
-logic_not__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_not__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_not__4" c_logic_not__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Logical not, returns (an expression evaluating to) 1 if expression is zero
->and 0 otherwise.
--}
-logic_not__4
-  :: IMatrix -> IO IMatrix
-logic_not__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_not__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_not__5" c_logic_not__5
-  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
-{-|
->Logical not, returns (an expression evaluating to) 1 if expression is zero
->and 0 otherwise.
--}
-logic_not__5
-  :: Double -> IO Double
-logic_not__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_not__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_not__6" c_logic_not__6
-  :: Ptr (Ptr StdString) -> CInt -> IO CInt
-{-|
->Logical not, returns (an expression evaluating to) 1 if expression is zero
->and 0 otherwise.
--}
-logic_not__6
-  :: Int -> IO Int
-logic_not__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_not__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_or__0" c_logic_or__0
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-{-|
->Logical or, returns (an expression evaluating to) 1 if at least one
->expression is nonzero and 0 otherwise.
--}
-logic_or__0
-  :: SXElement -> SXElement -> IO SXElement
-logic_or__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_or__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_or__1" c_logic_or__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Logical or, returns (an expression evaluating to) 1 if at least one
->expression is nonzero and 0 otherwise.
--}
-logic_or__1
-  :: MX -> MX -> IO MX
-logic_or__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_or__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_or__2" c_logic_or__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Logical or, returns (an expression evaluating to) 1 if at least one
->expression is nonzero and 0 otherwise.
--}
-logic_or__2
-  :: SX -> SX -> IO SX
-logic_or__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_or__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_or__3" c_logic_or__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Logical or, returns (an expression evaluating to) 1 if at least one
->expression is nonzero and 0 otherwise.
--}
-logic_or__3
-  :: DMatrix -> DMatrix -> IO DMatrix
-logic_or__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_or__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_or__4" c_logic_or__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Logical or, returns (an expression evaluating to) 1 if at least one
->expression is nonzero and 0 otherwise.
--}
-logic_or__4
-  :: IMatrix -> IMatrix -> IO IMatrix
-logic_or__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_or__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_or__5" c_logic_or__5
-  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
-{-|
->Logical or, returns (an expression evaluating to) 1 if at least one
->expression is nonzero and 0 otherwise.
--}
-logic_or__5
-  :: Double -> Double -> IO Double
-logic_or__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_or__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "logic_or__6" c_logic_or__6
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO CInt
-{-|
->Logical or, returns (an expression evaluating to) 1 if at least one
->expression is nonzero and 0 otherwise.
--}
-logic_or__6
-  :: Int -> Int -> IO Int
-logic_or__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_logic_or__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lookupvector" c_lookupvector
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
-{-|
->Returns a vector for quickly looking up entries of supplied list.
->
->lookupvector[i]!=-1 <=> v contains i v[lookupvector[i]] == i <=> v contains
->i
->
->Duplicates are treated by looking up last occurrence
--}
-lookupvector
-  :: Vector Int -> Int -> IO (Vector Int)
-lookupvector x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lookupvector errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__0" c_lpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-lpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__1" c_lpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-lpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__2" c_lpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-lpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__3" c_lpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-lpIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__4" c_lpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-lpIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__5" c_lpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-lpIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__6" c_lpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-lpIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__7" c_lpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpIn__7
-  :: Vector DMatrix -> IO (Vector DMatrix)
-lpIn__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__8" c_lpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpIn__8
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-lpIn__8 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__8 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__9" c_lpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpIn__9
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-lpIn__9 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__9 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__10" c_lpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpIn__10
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-lpIn__10 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__10 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__11" c_lpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpIn__11
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-lpIn__11 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__11 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__12" c_lpIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpIn__12
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-lpIn__12 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__12 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__13" c_lpIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpIn__13
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-lpIn__13 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__13 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__14" c_lpIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-lpIn__14
-  :: Vector MX -> IO (Vector MX)
-lpIn__14 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__14 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__15" c_lpIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpIn__15
-  :: Vector MX -> String -> IO (Vector MX)
-lpIn__15 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__15 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__16" c_lpIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpIn__16
-  :: Vector MX -> String -> String -> IO (Vector MX)
-lpIn__16 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__16 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__17" c_lpIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpIn__17
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-lpIn__17 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__17 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__18" c_lpIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpIn__18
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-lpIn__18 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__18 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__19" c_lpIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpIn__19
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-lpIn__19 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__20" c_lpIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpIn__20
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-lpIn__20 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__21" c_lpIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-lpIn__21
-  :: Vector SX -> IO (Vector SX)
-lpIn__21 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__21 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__22" c_lpIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpIn__22
-  :: Vector SX -> String -> IO (Vector SX)
-lpIn__22 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__22 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__23" c_lpIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpIn__23
-  :: Vector SX -> String -> String -> IO (Vector SX)
-lpIn__23 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__23 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__24" c_lpIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpIn__24
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-lpIn__24 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__24 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__25" c_lpIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpIn__25
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-lpIn__25 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__25 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__26" c_lpIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpIn__26
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-lpIn__26 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__26 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpIn__27" c_lpIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpIn__27
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-lpIn__27 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__0" c_lpOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-lpOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__1" c_lpOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-lpOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__2" c_lpOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-lpOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__3" c_lpOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-lpOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__4" c_lpOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-lpOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__5" c_lpOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpOut__5
-  :: Vector DMatrix -> IO (Vector DMatrix)
-lpOut__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__6" c_lpOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpOut__6
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-lpOut__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__7" c_lpOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpOut__7
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-lpOut__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__8" c_lpOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpOut__8
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-lpOut__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__9" c_lpOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lpOut__9
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-lpOut__9 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__9 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__10" c_lpOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-lpOut__10
-  :: Vector MX -> IO (Vector MX)
-lpOut__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__11" c_lpOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpOut__11
-  :: Vector MX -> String -> IO (Vector MX)
-lpOut__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__12" c_lpOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpOut__12
-  :: Vector MX -> String -> String -> IO (Vector MX)
-lpOut__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__13" c_lpOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpOut__13
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-lpOut__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__14" c_lpOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lpOut__14
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-lpOut__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__15" c_lpOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-lpOut__15
-  :: Vector SX -> IO (Vector SX)
-lpOut__15 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__15 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__16" c_lpOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpOut__16
-  :: Vector SX -> String -> IO (Vector SX)
-lpOut__16 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__16 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__17" c_lpOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpOut__17
-  :: Vector SX -> String -> String -> IO (Vector SX)
-lpOut__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__18" c_lpOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpOut__18
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-lpOut__18 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__18 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpOut__19" c_lpOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lpOut__19
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-lpOut__19 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpOut__19 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpStruct__0" c_lpStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-lpStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lpStruct__1" c_lpStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lpStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-lpStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lpStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__0" c_lrdleIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-lrdleIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__1" c_lrdleIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-lrdleIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__2" c_lrdleIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-lrdleIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__3" c_lrdleIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-lrdleIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__4" c_lrdleIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-lrdleIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__5" c_lrdleIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdleIn__5
-  :: Vector DMatrix -> IO (Vector DMatrix)
-lrdleIn__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__6" c_lrdleIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdleIn__6
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-lrdleIn__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__7" c_lrdleIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdleIn__7
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-lrdleIn__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__8" c_lrdleIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdleIn__8
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-lrdleIn__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__9" c_lrdleIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdleIn__9
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-lrdleIn__9 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__9 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__10" c_lrdleIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-lrdleIn__10
-  :: Vector MX -> IO (Vector MX)
-lrdleIn__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__11" c_lrdleIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdleIn__11
-  :: Vector MX -> String -> IO (Vector MX)
-lrdleIn__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__12" c_lrdleIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdleIn__12
-  :: Vector MX -> String -> String -> IO (Vector MX)
-lrdleIn__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__13" c_lrdleIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdleIn__13
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-lrdleIn__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__14" c_lrdleIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdleIn__14
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-lrdleIn__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__15" c_lrdleIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-lrdleIn__15
-  :: Vector SX -> IO (Vector SX)
-lrdleIn__15 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__15 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__16" c_lrdleIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdleIn__16
-  :: Vector SX -> String -> IO (Vector SX)
-lrdleIn__16 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__16 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__17" c_lrdleIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdleIn__17
-  :: Vector SX -> String -> String -> IO (Vector SX)
-lrdleIn__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__18" c_lrdleIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdleIn__18
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-lrdleIn__18 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__18 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleIn__19" c_lrdleIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdleIn__19
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-lrdleIn__19 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleIn__19 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleOut__0" c_lrdleOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-lrdleOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleOut__1" c_lrdleOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-lrdleOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleOut__2" c_lrdleOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdleOut__2
-  :: Vector DMatrix -> IO (Vector DMatrix)
-lrdleOut__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleOut__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleOut__3" c_lrdleOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdleOut__3
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-lrdleOut__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleOut__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleOut__4" c_lrdleOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-lrdleOut__4
-  :: Vector MX -> IO (Vector MX)
-lrdleOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleOut__5" c_lrdleOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdleOut__5
-  :: Vector MX -> String -> IO (Vector MX)
-lrdleOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleOut__6" c_lrdleOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-lrdleOut__6
-  :: Vector SX -> IO (Vector SX)
-lrdleOut__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleOut__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleOut__7" c_lrdleOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdleOut__7
-  :: Vector SX -> String -> IO (Vector SX)
-lrdleOut__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleOut__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleStruct__0" c_lrdleStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-lrdleStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleStruct__1" c_lrdleStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-lrdleStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleStruct__2" c_lrdleStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleStruct__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-lrdleStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleStruct__3" c_lrdleStruct__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleStruct__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-lrdleStruct__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleStruct__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdleStruct__4" c_lrdleStruct__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdleStruct__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-lrdleStruct__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdleStruct__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__0" c_lrdpleIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdpleIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-lrdpleIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__1" c_lrdpleIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdpleIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-lrdpleIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__2" c_lrdpleIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdpleIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-lrdpleIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__3" c_lrdpleIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdpleIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-lrdpleIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__4" c_lrdpleIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdpleIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-lrdpleIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__5" c_lrdpleIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdpleIn__5
-  :: Vector DMatrix -> IO (Vector DMatrix)
-lrdpleIn__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__6" c_lrdpleIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdpleIn__6
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-lrdpleIn__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__7" c_lrdpleIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdpleIn__7
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-lrdpleIn__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__8" c_lrdpleIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdpleIn__8
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-lrdpleIn__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__9" c_lrdpleIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdpleIn__9
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-lrdpleIn__9 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__9 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__10" c_lrdpleIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-lrdpleIn__10
-  :: Vector MX -> IO (Vector MX)
-lrdpleIn__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__11" c_lrdpleIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdpleIn__11
-  :: Vector MX -> String -> IO (Vector MX)
-lrdpleIn__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__12" c_lrdpleIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdpleIn__12
-  :: Vector MX -> String -> String -> IO (Vector MX)
-lrdpleIn__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__13" c_lrdpleIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdpleIn__13
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-lrdpleIn__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__14" c_lrdpleIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdpleIn__14
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-lrdpleIn__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__15" c_lrdpleIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-lrdpleIn__15
-  :: Vector SX -> IO (Vector SX)
-lrdpleIn__15 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__15 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__16" c_lrdpleIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdpleIn__16
-  :: Vector SX -> String -> IO (Vector SX)
-lrdpleIn__16 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__16 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__17" c_lrdpleIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdpleIn__17
-  :: Vector SX -> String -> String -> IO (Vector SX)
-lrdpleIn__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__18" c_lrdpleIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdpleIn__18
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-lrdpleIn__18 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__18 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleIn__19" c_lrdpleIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdpleIn__19
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-lrdpleIn__19 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleIn__19 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleOut__0" c_lrdpleOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdpleOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-lrdpleOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleOut__1" c_lrdpleOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-lrdpleOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-lrdpleOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleOut__2" c_lrdpleOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdpleOut__2
-  :: Vector DMatrix -> IO (Vector DMatrix)
-lrdpleOut__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleOut__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleOut__3" c_lrdpleOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-lrdpleOut__3
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-lrdpleOut__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleOut__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleOut__4" c_lrdpleOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-lrdpleOut__4
-  :: Vector MX -> IO (Vector MX)
-lrdpleOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleOut__5" c_lrdpleOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-lrdpleOut__5
-  :: Vector MX -> String -> IO (Vector MX)
-lrdpleOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleOut__6" c_lrdpleOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-lrdpleOut__6
-  :: Vector SX -> IO (Vector SX)
-lrdpleOut__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleOut__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleOut__7" c_lrdpleOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-lrdpleOut__7
-  :: Vector SX -> String -> IO (Vector SX)
-lrdpleOut__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleOut__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleStruct__0" c_lrdpleStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-lrdpleStruct__0
-  :: Vector (Vector Sparsity) -> IO (Vector (Vector Sparsity))
-lrdpleStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleStruct__1" c_lrdpleStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-lrdpleStruct__1
-  :: Vector (Vector Sparsity) -> String -> IO (Vector (Vector Sparsity))
-lrdpleStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleStruct__2" c_lrdpleStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-lrdpleStruct__2
-  :: Vector (Vector Sparsity) -> String -> String -> IO (Vector (Vector Sparsity))
-lrdpleStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleStruct__3" c_lrdpleStruct__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-lrdpleStruct__3
-  :: Vector (Vector Sparsity) -> String -> String -> String -> IO (Vector (Vector Sparsity))
-lrdpleStruct__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleStruct__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "lrdpleStruct__4" c_lrdpleStruct__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
-lrdpleStruct__4
-  :: Vector (Vector Sparsity) -> String -> String -> String -> String -> IO (Vector (Vector Sparsity))
-lrdpleStruct__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_lrdpleStruct__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "matrix_expand__0" c_matrix_expand__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->Expand MX graph to SXFunction call.
->
->Expand the given expression e, optionally supplying expressions contained in
->it at which expansion should stop.
--}
-matrix_expand__0
-  :: Vector MX -> IO (Vector MX)
-matrix_expand__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_matrix_expand__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "matrix_expand__1" c_matrix_expand__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->Expand MX graph to SXFunction call.
->
->Expand the given expression e, optionally supplying expressions contained in
->it at which expansion should stop.
--}
-matrix_expand__1
-  :: Vector MX -> Vector MX -> IO (Vector MX)
-matrix_expand__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_matrix_expand__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "matrix_expand__2" c_matrix_expand__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Expand MX graph to SXFunction call.
->
->Expand the given expression e, optionally supplying expressions contained in
->it at which expansion should stop.
--}
-matrix_expand__2
-  :: MX -> IO MX
-matrix_expand__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_matrix_expand__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "matrix_expand__3" c_matrix_expand__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Expand MX graph to SXFunction call.
->
->Expand the given expression e, optionally supplying expressions contained in
->it at which expansion should stop.
--}
-matrix_expand__3
-  :: MX -> Vector MX -> IO MX
-matrix_expand__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_matrix_expand__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mtaylor__0" c_mtaylor__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr SX')
-{-|
->multivariate Taylor series expansion
->
->Do Taylor expansions until the aggregated order of a term is equal to
->'order'. The aggregated order of $x^n y^m$ equals $n+m$.
->
->The argument order_contributions can denote how match each variable
->contributes to the aggregated order. If x=[x, y] and order_contributions=[1,
->2], then the aggregated order of $x^n y^m$ equals $1n+2m$.
->
->Example usage
->
->$ \\\\sin(b+a)+\\\\cos(b+a)(x-a)+\\\\cos(b+a)(y-b) $ $ y+x-(x^3+3y x^2+3 y^2
->x+y^3)/6 $ $ (-3 x^2 y-x^3)/6+y+x $
--}
-mtaylor__0
-  :: SX -> SX -> SX -> Int -> Vector Int -> IO SX
-mtaylor__0 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mtaylor__0 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mtaylor__1" c_mtaylor__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->multivariate Taylor series expansion
->
->Do Taylor expansions until the aggregated order of a term is equal to
->'order'. The aggregated order of $x^n y^m$ equals $n+m$.
--}
-mtaylor__1
-  :: SX -> SX -> SX -> IO SX
-mtaylor__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mtaylor__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mtaylor__2" c_mtaylor__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->multivariate Taylor series expansion
->
->Do Taylor expansions until the aggregated order of a term is equal to
->'order'. The aggregated order of $x^n y^m$ equals $n+m$.
--}
-mtaylor__2
-  :: SX -> SX -> SX -> Int -> IO SX
-mtaylor__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mtaylor__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__0" c_mul__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Take the matrix product of n MX objects.
--}
-mul__0
-  :: Vector MX -> IO MX
-mul__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__1" c_mul__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Take the matrix product of 2 MX objects.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient then.
--}
-mul__1
-  :: MX -> MX -> IO MX
-mul__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__2" c_mul__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-{-|
->Take the matrix product of 2 MX objects.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient then.
--}
-mul__2
-  :: MX -> MX -> Sparsity -> IO MX
-mul__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__3" c_mul__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-{-|
->Get the sparsity resulting from a series of matrix multiplication.
--}
-mul__3
-  :: Vector Sparsity -> IO Sparsity
-mul__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__4" c_mul__4
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-{-|
->Get the sparsity resulting from a matrix multiplication.
--}
-mul__4
-  :: Sparsity -> Sparsity -> IO Sparsity
-mul__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__5" c_mul__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-{-|
->Matrix product of n matrices.
--}
-mul__5
-  :: Vector SX -> IO SX
-mul__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__6" c_mul__6
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Matrix product of two matrices.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient in that case.
--}
-mul__6
-  :: SX -> SX -> IO SX
-mul__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__7" c_mul__7
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-{-|
->Matrix product of two matrices.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient in that case.
--}
-mul__7
-  :: SX -> SX -> Sparsity -> IO SX
-mul__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__8" c_mul__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-{-|
->Matrix product of n matrices.
--}
-mul__8
-  :: Vector DMatrix -> IO DMatrix
-mul__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__9" c_mul__9
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Matrix product of two matrices.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient in that case.
--}
-mul__9
-  :: DMatrix -> DMatrix -> IO DMatrix
-mul__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__10" c_mul__10
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-{-|
->Matrix product of two matrices.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient in that case.
--}
-mul__10
-  :: DMatrix -> DMatrix -> Sparsity -> IO DMatrix
-mul__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__11" c_mul__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->Matrix product of n matrices.
--}
-mul__11
-  :: Vector IMatrix -> IO IMatrix
-mul__11 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__11 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__12" c_mul__12
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Matrix product of two matrices.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient in that case.
--}
-mul__12
-  :: IMatrix -> IMatrix -> IO IMatrix
-mul__12 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__12 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "mul__13" c_mul__13
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-{-|
->Matrix product of two matrices.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient in that case.
--}
-mul__13
-  :: IMatrix -> IMatrix -> Sparsity -> IO IMatrix
-mul__13 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_mul__13 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__0" c_nlpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-nlpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__1" c_nlpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-nlpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__2" c_nlpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-nlpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__3" c_nlpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpIn__3
-  :: Vector DMatrix -> IO (Vector DMatrix)
-nlpIn__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__4" c_nlpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpIn__4
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-nlpIn__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__5" c_nlpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpIn__5
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-nlpIn__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__6" c_nlpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-nlpIn__6
-  :: Vector MX -> IO (Vector MX)
-nlpIn__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__7" c_nlpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpIn__7
-  :: Vector MX -> String -> IO (Vector MX)
-nlpIn__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__8" c_nlpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpIn__8
-  :: Vector MX -> String -> String -> IO (Vector MX)
-nlpIn__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__9" c_nlpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-nlpIn__9
-  :: Vector SX -> IO (Vector SX)
-nlpIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__10" c_nlpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpIn__10
-  :: Vector SX -> String -> IO (Vector SX)
-nlpIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpIn__11" c_nlpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpIn__11
-  :: Vector SX -> String -> String -> IO (Vector SX)
-nlpIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__0" c_nlpOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-nlpOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__1" c_nlpOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-nlpOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__2" c_nlpOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-nlpOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__3" c_nlpOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpOut__3
-  :: Vector DMatrix -> IO (Vector DMatrix)
-nlpOut__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__4" c_nlpOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpOut__4
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-nlpOut__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__5" c_nlpOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpOut__5
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-nlpOut__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__6" c_nlpOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-nlpOut__6
-  :: Vector MX -> IO (Vector MX)
-nlpOut__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__7" c_nlpOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpOut__7
-  :: Vector MX -> String -> IO (Vector MX)
-nlpOut__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__8" c_nlpOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpOut__8
-  :: Vector MX -> String -> String -> IO (Vector MX)
-nlpOut__8 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__8 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__9" c_nlpOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-nlpOut__9
-  :: Vector SX -> IO (Vector SX)
-nlpOut__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__10" c_nlpOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpOut__10
-  :: Vector SX -> String -> IO (Vector SX)
-nlpOut__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpOut__11" c_nlpOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpOut__11
-  :: Vector SX -> String -> String -> IO (Vector SX)
-nlpOut__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpOut__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__0" c_nlpSolverIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-nlpSolverIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__1" c_nlpSolverIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-nlpSolverIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__2" c_nlpSolverIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-nlpSolverIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__3" c_nlpSolverIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__4" c_nlpSolverIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__5" c_nlpSolverIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__6" c_nlpSolverIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__7" c_nlpSolverIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__8" c_nlpSolverIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverIn__8
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__9" c_nlpSolverIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__9
-  :: Vector DMatrix -> IO (Vector DMatrix)
-nlpSolverIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__10" c_nlpSolverIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__10
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-nlpSolverIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__11" c_nlpSolverIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__11
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-nlpSolverIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__12" c_nlpSolverIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__12
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverIn__12 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__12 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__13" c_nlpSolverIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__13
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverIn__13 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__13 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__14" c_nlpSolverIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__14
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverIn__14 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__14 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__15" c_nlpSolverIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__15
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverIn__15 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__16" c_nlpSolverIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__16
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverIn__16 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__17" c_nlpSolverIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverIn__17
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverIn__17 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__18" c_nlpSolverIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__18
-  :: Vector MX -> IO (Vector MX)
-nlpSolverIn__18 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__18 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__19" c_nlpSolverIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__19
-  :: Vector MX -> String -> IO (Vector MX)
-nlpSolverIn__19 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__19 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__20" c_nlpSolverIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__20
-  :: Vector MX -> String -> String -> IO (Vector MX)
-nlpSolverIn__20 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__20 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__21" c_nlpSolverIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__21
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-nlpSolverIn__21 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__21 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__22" c_nlpSolverIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__22
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-nlpSolverIn__22 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__22 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__23" c_nlpSolverIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__23
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-nlpSolverIn__23 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__23 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__24" c_nlpSolverIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__24
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-nlpSolverIn__24 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__24 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__25" c_nlpSolverIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__25
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-nlpSolverIn__25 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__25 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__26" c_nlpSolverIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverIn__26
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-nlpSolverIn__26 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__27" c_nlpSolverIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__27
-  :: Vector SX -> IO (Vector SX)
-nlpSolverIn__27 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__27 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__28" c_nlpSolverIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__28
-  :: Vector SX -> String -> IO (Vector SX)
-nlpSolverIn__28 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__28 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__29" c_nlpSolverIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__29
-  :: Vector SX -> String -> String -> IO (Vector SX)
-nlpSolverIn__29 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__29 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__30" c_nlpSolverIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__30
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-nlpSolverIn__30 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__30 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__31" c_nlpSolverIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__31
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-nlpSolverIn__31 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__31 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__32" c_nlpSolverIn__32
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__32
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-nlpSolverIn__32 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__32 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__33" c_nlpSolverIn__33
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__33
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-nlpSolverIn__33 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__33 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__34" c_nlpSolverIn__34
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__34
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-nlpSolverIn__34 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__34 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverIn__35" c_nlpSolverIn__35
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverIn__35
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-nlpSolverIn__35 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverIn__35 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__0" c_nlpSolverOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-nlpSolverOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__1" c_nlpSolverOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-nlpSolverOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__2" c_nlpSolverOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-nlpSolverOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__3" c_nlpSolverOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__4" c_nlpSolverOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__5" c_nlpSolverOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverOut__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverOut__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__6" c_nlpSolverOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-nlpSolverOut__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-nlpSolverOut__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__7" c_nlpSolverOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverOut__7
-  :: Vector DMatrix -> IO (Vector DMatrix)
-nlpSolverOut__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__8" c_nlpSolverOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverOut__8
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-nlpSolverOut__8 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__8 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__9" c_nlpSolverOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverOut__9
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-nlpSolverOut__9 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__9 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__10" c_nlpSolverOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverOut__10
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverOut__10 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__10 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__11" c_nlpSolverOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverOut__11
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverOut__11 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__11 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__12" c_nlpSolverOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverOut__12
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverOut__12 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__12 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__13" c_nlpSolverOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-nlpSolverOut__13
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-nlpSolverOut__13 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__13 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__14" c_nlpSolverOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverOut__14
-  :: Vector MX -> IO (Vector MX)
-nlpSolverOut__14 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__14 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__15" c_nlpSolverOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverOut__15
-  :: Vector MX -> String -> IO (Vector MX)
-nlpSolverOut__15 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__15 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__16" c_nlpSolverOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverOut__16
-  :: Vector MX -> String -> String -> IO (Vector MX)
-nlpSolverOut__16 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__16 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__17" c_nlpSolverOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverOut__17
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-nlpSolverOut__17 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__17 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__18" c_nlpSolverOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverOut__18
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-nlpSolverOut__18 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__18 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__19" c_nlpSolverOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverOut__19
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-nlpSolverOut__19 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__19 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__20" c_nlpSolverOut__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-nlpSolverOut__20
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-nlpSolverOut__20 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__21" c_nlpSolverOut__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverOut__21
-  :: Vector SX -> IO (Vector SX)
-nlpSolverOut__21 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__21 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__22" c_nlpSolverOut__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverOut__22
-  :: Vector SX -> String -> IO (Vector SX)
-nlpSolverOut__22 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__22 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__23" c_nlpSolverOut__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverOut__23
-  :: Vector SX -> String -> String -> IO (Vector SX)
-nlpSolverOut__23 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__23 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__24" c_nlpSolverOut__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverOut__24
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-nlpSolverOut__24 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__24 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__25" c_nlpSolverOut__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverOut__25
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-nlpSolverOut__25 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__25 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__26" c_nlpSolverOut__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverOut__26
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-nlpSolverOut__26 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__26 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nlpSolverOut__27" c_nlpSolverOut__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-nlpSolverOut__27
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-nlpSolverOut__27 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nlpSolverOut__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_0_mul_nn__0" c_norm_0_mul_nn__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->0-norm (nonzero count) of a Matrix-matrix product, no memory allocation
->mul(x, y)
->
->Parameters:
->-----------
->
->Bwork:  A boolean work vector that you must allocate Minimum size: y.size1()
->
->Iwork:  A integer work vector that you must allocate Minimum size:
->y.size1()+x.size2()+1
--}
-norm_0_mul_nn__0
-  :: SX -> SX -> Vector Bool -> Vector Int -> IO Int
-norm_0_mul_nn__0 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_0_mul_nn__0 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_0_mul_nn__1" c_norm_0_mul_nn__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->0-norm (nonzero count) of a Matrix-matrix product, no memory allocation
->mul(x, y)
->
->Parameters:
->-----------
->
->Bwork:  A boolean work vector that you must allocate Minimum size: y.size1()
->
->Iwork:  A integer work vector that you must allocate Minimum size:
->y.size1()+x.size2()+1
--}
-norm_0_mul_nn__1
-  :: DMatrix -> DMatrix -> Vector Bool -> Vector Int -> IO Int
-norm_0_mul_nn__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_0_mul_nn__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_0_mul_nn__2" c_norm_0_mul_nn__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO CInt
-{-|
->0-norm (nonzero count) of a Matrix-matrix product, no memory allocation
->mul(x, y)
->
->Parameters:
->-----------
->
->Bwork:  A boolean work vector that you must allocate Minimum size: y.size1()
->
->Iwork:  A integer work vector that you must allocate Minimum size:
->y.size1()+x.size2()+1
--}
-norm_0_mul_nn__2
-  :: IMatrix -> IMatrix -> Vector Bool -> Vector Int -> IO Int
-norm_0_mul_nn__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_0_mul_nn__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_1__0" c_norm_1__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->1-norm
--}
-norm_1__0
-  :: MX -> IO MX
-norm_1__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_1__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_1__1" c_norm_1__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->1-norm
--}
-norm_1__1
-  :: SX -> IO SX
-norm_1__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_1__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_1__2" c_norm_1__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->1-norm
--}
-norm_1__2
-  :: DMatrix -> IO DMatrix
-norm_1__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_1__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_1__3" c_norm_1__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->1-norm
--}
-norm_1__3
-  :: IMatrix -> IO IMatrix
-norm_1__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_1__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_2__0" c_norm_2__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->2-norm
--}
-norm_2__0
-  :: MX -> IO MX
-norm_2__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_2__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_2__1" c_norm_2__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->2-norm
--}
-norm_2__1
-  :: SX -> IO SX
-norm_2__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_2__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_2__2" c_norm_2__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->2-norm
--}
-norm_2__2
-  :: DMatrix -> IO DMatrix
-norm_2__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_2__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_2__3" c_norm_2__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->2-norm
--}
-norm_2__3
-  :: IMatrix -> IO IMatrix
-norm_2__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_2__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_F__0" c_norm_F__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Frobenius norm.
--}
-norm_F__0
-  :: MX -> IO MX
-norm_F__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_F__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_F__1" c_norm_F__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Frobenius norm.
--}
-norm_F__1
-  :: SX -> IO SX
-norm_F__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_F__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_F__2" c_norm_F__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Frobenius norm.
--}
-norm_F__2
-  :: DMatrix -> IO DMatrix
-norm_F__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_F__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_F__3" c_norm_F__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Frobenius norm.
--}
-norm_F__3
-  :: IMatrix -> IO IMatrix
-norm_F__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_F__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_inf__0" c_norm_inf__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Infinity-norm.
--}
-norm_inf__0
-  :: MX -> IO MX
-norm_inf__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_inf__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_inf__1" c_norm_inf__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Infinity-norm.
--}
-norm_inf__1
-  :: SX -> IO SX
-norm_inf__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_inf__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_inf__2" c_norm_inf__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Infinity-norm.
--}
-norm_inf__2
-  :: DMatrix -> IO DMatrix
-norm_inf__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_inf__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_inf__3" c_norm_inf__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Infinity-norm.
--}
-norm_inf__3
-  :: IMatrix -> IO IMatrix
-norm_inf__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_inf__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "norm_inf_mul_nn" c_norm_inf_mul_nn
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr (StdVec CDouble) -> Ptr (StdVec CInt) -> IO CDouble
-{-|
->Inf-norm of a Matrix-matrix product, no memory allocation mul(x, y)
->
->Parameters:
->-----------
->
->Dwork:  A double work vector that you must allocate Minimum size: y.size1()
->
->Iwork:  A integer work vector that you must allocate Minimum size:
->y.size1()+x.size2()+1
--}
-norm_inf_mul_nn
-  :: DMatrix -> DMatrix -> Vector Double -> Vector Int -> IO Double
-norm_inf_mul_nn x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_norm_inf_mul_nn errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nullspace__0" c_nullspace__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Computes the nullspace of a matrix A.
->
->Finds Z m-by-(m-n) such that AZ = 0 with A n-by-m with m > n
->
->Assumes A is full rank
->
->Inspired by Numerical Methods in Scientific Computing by Ake Bjorck
--}
-nullspace__0
-  :: MX -> IO MX
-nullspace__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nullspace__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nullspace__1" c_nullspace__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Computes the nullspace of a matrix A.
->
->Finds Z m-by-(m-n) such that AZ = 0 with A n-by-m with m > n
->
->Assumes A is full rank
->
->Inspired by Numerical Methods in Scientific Computing by Ake Bjorck
--}
-nullspace__1
-  :: SX -> IO SX
-nullspace__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nullspace__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nullspace__2" c_nullspace__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Computes the nullspace of a matrix A.
->
->Finds Z m-by-(m-n) such that AZ = 0 with A n-by-m with m > n
->
->Assumes A is full rank
->
->Inspired by Numerical Methods in Scientific Computing by Ake Bjorck
--}
-nullspace__2
-  :: DMatrix -> IO DMatrix
-nullspace__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nullspace__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "nullspace__3" c_nullspace__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Computes the nullspace of a matrix A.
->
->Finds Z m-by-(m-n) such that AZ = 0 with A n-by-m with m > n
->
->Assumes A is full rank
->
->Inspired by Numerical Methods in Scientific Computing by Ake Bjorck
--}
-nullspace__3
-  :: IMatrix -> IO IMatrix
-nullspace__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_nullspace__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "outer_prod__0" c_outer_prod__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Take the outer product of two vectors Equals.
->
->with x and y vectors
--}
-outer_prod__0
-  :: MX -> MX -> IO MX
-outer_prod__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_outer_prod__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "outer_prod__1" c_outer_prod__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Outer product of two vectors Equals.
->
->with x and y vectors
--}
-outer_prod__1
-  :: SX -> SX -> IO SX
-outer_prod__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_outer_prod__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "outer_prod__2" c_outer_prod__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Outer product of two vectors Equals.
->
->with x and y vectors
--}
-outer_prod__2
-  :: DMatrix -> DMatrix -> IO DMatrix
-outer_prod__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_outer_prod__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "outer_prod__3" c_outer_prod__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Outer product of two vectors Equals.
->
->with x and y vectors
--}
-outer_prod__3
-  :: IMatrix -> IMatrix -> IO IMatrix
-outer_prod__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_outer_prod__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "pinv__0" c_pinv__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
-{-|
->Computes the Moore-Penrose pseudo-inverse.
->
->If the matrix A is fat (size1>size2), mul(A, pinv(A)) is unity. If the
->matrix A is slender (size2<size1), mul(pinv(A), A) is unity.
--}
-pinv__0
-  :: MX -> String -> IO MX
-pinv__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_pinv__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "pinv__1" c_pinv__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Computes the Moore-Penrose pseudo-inverse.
->
->If the matrix A is fat (size2>size1), mul(A, pinv(A)) is unity. If the
->matrix A is slender (size1<size2), mul(pinv(A), A) is unity.
--}
-pinv__1
-  :: SX -> IO SX
-pinv__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_pinv__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "pinv__2" c_pinv__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Computes the Moore-Penrose pseudo-inverse.
->
->If the matrix A is fat (size2>size1), mul(A, pinv(A)) is unity. If the
->matrix A is slender (size1<size2), mul(pinv(A), A) is unity.
--}
-pinv__2
-  :: DMatrix -> IO DMatrix
-pinv__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_pinv__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "pinv__3" c_pinv__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Computes the Moore-Penrose pseudo-inverse.
->
->If the matrix A is fat (size2>size1), mul(A, pinv(A)) is unity. If the
->matrix A is slender (size1<size2), mul(pinv(A), A) is unity.
--}
-pinv__3
-  :: IMatrix -> IO IMatrix
-pinv__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_pinv__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "pinv__4" c_pinv__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr StdString -> IO (Ptr DMatrix')
-{-|
->Computes the Moore-Penrose pseudo-inverse.
->
->If the matrix A is fat (size1>size2), mul(A, pinv(A)) is unity. If the
->matrix A is slender (size2<size1), mul(pinv(A), A) is unity.
--}
-pinv__4
-  :: DMatrix -> String -> IO DMatrix
-pinv__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_pinv__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "poly_coeff" c_poly_coeff
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->extracts polynomial coefficients from an expression
->
->ex Scalar expression that represents a polynomial  x Scalar symbol that the
->polynomial is build up with
--}
-poly_coeff
-  :: SX -> SX -> IO SX
-poly_coeff x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_poly_coeff errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "poly_roots" c_poly_roots
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Attempts to find the roots of a polynomial.
->
->This will only work for polynomials up to order 3 It is assumed that the
->roots are real.
--}
-poly_roots
-  :: SX -> IO SX
-poly_roots x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_poly_roots errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "polyval__0" c_polyval__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Evaluate a polynomial with coefficients p in x.
--}
-polyval__0
-  :: MX -> MX -> IO MX
-polyval__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_polyval__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "polyval__1" c_polyval__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Evaluate a polynomial with coefficients p in x.
--}
-polyval__1
-  :: SX -> SX -> IO SX
-polyval__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_polyval__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "polyval__2" c_polyval__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Evaluate a polynomial with coefficients p in x.
--}
-polyval__2
-  :: DMatrix -> DMatrix -> IO DMatrix
-polyval__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_polyval__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "polyval__3" c_polyval__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Evaluate a polynomial with coefficients p in x.
--}
-polyval__3
-  :: IMatrix -> IMatrix -> IO IMatrix
-polyval__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_polyval__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "printCompact__0" c_printCompact__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
-{-|
->Print compact, introducing new variables for shared subexpressions.
--}
-printCompact__0
-  :: MX -> IO ()
-printCompact__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_printCompact__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "printCompact__1" c_printCompact__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-{-|
->Print compact, introducing new variables for shared subexpressions.
--}
-printCompact__1
-  :: SX -> IO ()
-printCompact__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_printCompact__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "project__0" c_project__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-{-|
->Create a new matrix with a given sparsity pattern but with the nonzeros
->taken from an existing matrix.
--}
-project__0
-  :: SX -> Sparsity -> IO SX
-project__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_project__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "project__1" c_project__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-{-|
->Create a new matrix with a given sparsity pattern but with the nonzeros
->taken from an existing matrix.
--}
-project__1
-  :: DMatrix -> Sparsity -> IO DMatrix
-project__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_project__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "project__2" c_project__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-{-|
->Create a new matrix with a given sparsity pattern but with the nonzeros
->taken from an existing matrix.
--}
-project__2
-  :: IMatrix -> Sparsity -> IO IMatrix
-project__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_project__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "pw_const" c_pw_const
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Create a piecewise constant function Create a piecewise constant function
->with n=val.size() intervals.
->
->Inputs:
->
->Parameters:
->-----------
->
->t:  a scalar variable (e.g. time)
->
->tval:  vector with the discrete values of t at the interval transitions
->(length n-1)
->
->val:  vector with the value of the function for each interval (length n)
--}
-pw_const
-  :: SX -> SX -> SX -> IO SX
-pw_const x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_pw_const errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "pw_lin" c_pw_lin
-  :: Ptr (Ptr StdString) -> Ptr SXElement' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->t a scalar variable (e.g. time)
->
->Create a piecewise linear function Create a piecewise linear function:
->
->Inputs: tval vector with the the discrete values of t (monotonically
->increasing) val vector with the corresponding function values (same length
->as tval)
--}
-pw_lin
-  :: SXElement -> SX -> SX -> IO SX
-pw_lin x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_pw_lin errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__0" c_qcqpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-qcqpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__1" c_qcqpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-qcqpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__2" c_qcqpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-qcqpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__3" c_qcqpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__4" c_qcqpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__5" c_qcqpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__6" c_qcqpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__7" c_qcqpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__8" c_qcqpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__8
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__9" c_qcqpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__9
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__10" c_qcqpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__10
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__10 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__10 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__11" c_qcqpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__11
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__11 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__11 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__12" c_qcqpIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpIn__12
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpIn__12 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__12 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__13" c_qcqpIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__13
-  :: Vector DMatrix -> IO (Vector DMatrix)
-qcqpIn__13 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__13 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__14" c_qcqpIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__14
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-qcqpIn__14 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__14 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__15" c_qcqpIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__15
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-qcqpIn__15 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__15 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__16" c_qcqpIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__16
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__16 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__16 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__17" c_qcqpIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__17
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__17 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__17 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__18" c_qcqpIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__18
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__18 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__19" c_qcqpIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__19
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__19 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__20" c_qcqpIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__20
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__20 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__21" c_qcqpIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__21
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__21 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__21 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__22" c_qcqpIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__22
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__22 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__23" c_qcqpIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__23
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__23 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__24" c_qcqpIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__24
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__24 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__24 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__25" c_qcqpIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpIn__25
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpIn__25 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__26" c_qcqpIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__26
-  :: Vector MX -> IO (Vector MX)
-qcqpIn__26 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__26 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__27" c_qcqpIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__27
-  :: Vector MX -> String -> IO (Vector MX)
-qcqpIn__27 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__27 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__28" c_qcqpIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__28
-  :: Vector MX -> String -> String -> IO (Vector MX)
-qcqpIn__28 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__28 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__29" c_qcqpIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__29
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-qcqpIn__29 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__29 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__30" c_qcqpIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__30
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__30 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__30 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__31" c_qcqpIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__31
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__31 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__31 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__32" c_qcqpIn__32
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__32
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__32 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__32 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__33" c_qcqpIn__33
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__33
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__33 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__33 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__34" c_qcqpIn__34
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__34
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__34 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__34 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__35" c_qcqpIn__35
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__35
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__35 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__36" c_qcqpIn__36
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__36
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__36 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__37" c_qcqpIn__37
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__37
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__37 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__38" c_qcqpIn__38
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpIn__38
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qcqpIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__39" c_qcqpIn__39
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__39
-  :: Vector SX -> IO (Vector SX)
-qcqpIn__39 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__39 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__40" c_qcqpIn__40
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__40
-  :: Vector SX -> String -> IO (Vector SX)
-qcqpIn__40 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__40 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__41" c_qcqpIn__41
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__41
-  :: Vector SX -> String -> String -> IO (Vector SX)
-qcqpIn__41 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__41 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__42" c_qcqpIn__42
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__42
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-qcqpIn__42 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__42 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__43" c_qcqpIn__43
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__43
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__43 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__43 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__44" c_qcqpIn__44
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__44
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__44 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__44 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__45" c_qcqpIn__45
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__45
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__45 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__45 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__46" c_qcqpIn__46
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__46
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__46 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__46 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__47" c_qcqpIn__47
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__47
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__47 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__47 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__48" c_qcqpIn__48
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__48
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__48 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__48 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__49" c_qcqpIn__49
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__49
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__49 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__49 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__50" c_qcqpIn__50
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__50
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__50 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__50 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpIn__51" c_qcqpIn__51
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpIn__51
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qcqpIn__51 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpIn__51 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__0" c_qcqpOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-qcqpOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__1" c_qcqpOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-qcqpOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__2" c_qcqpOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-qcqpOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__3" c_qcqpOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-qcqpOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__4" c_qcqpOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-qcqpOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__5" c_qcqpOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpOut__5
-  :: Vector DMatrix -> IO (Vector DMatrix)
-qcqpOut__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__6" c_qcqpOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpOut__6
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-qcqpOut__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__7" c_qcqpOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpOut__7
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-qcqpOut__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__8" c_qcqpOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpOut__8
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-qcqpOut__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__9" c_qcqpOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qcqpOut__9
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-qcqpOut__9 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__9 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__10" c_qcqpOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-qcqpOut__10
-  :: Vector MX -> IO (Vector MX)
-qcqpOut__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__11" c_qcqpOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpOut__11
-  :: Vector MX -> String -> IO (Vector MX)
-qcqpOut__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__12" c_qcqpOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpOut__12
-  :: Vector MX -> String -> String -> IO (Vector MX)
-qcqpOut__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__13" c_qcqpOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpOut__13
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-qcqpOut__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__14" c_qcqpOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qcqpOut__14
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-qcqpOut__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__15" c_qcqpOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-qcqpOut__15
-  :: Vector SX -> IO (Vector SX)
-qcqpOut__15 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__15 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__16" c_qcqpOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpOut__16
-  :: Vector SX -> String -> IO (Vector SX)
-qcqpOut__16 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__16 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__17" c_qcqpOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpOut__17
-  :: Vector SX -> String -> String -> IO (Vector SX)
-qcqpOut__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__18" c_qcqpOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpOut__18
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-qcqpOut__18 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__18 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpOut__19" c_qcqpOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qcqpOut__19
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-qcqpOut__19 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpOut__19 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpStruct__0" c_qcqpStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-qcqpStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpStruct__1" c_qcqpStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-qcqpStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpStruct__2" c_qcqpStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpStruct__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-qcqpStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qcqpStruct__3" c_qcqpStruct__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qcqpStruct__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-qcqpStruct__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qcqpStruct__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__0" c_qpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-qpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__1" c_qpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-qpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__2" c_qpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-qpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__3" c_qpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-qpIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__4" c_qpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-qpIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__5" c_qpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qpIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__6" c_qpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qpIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__7" c_qpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__8" c_qpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__8
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__9" c_qpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpIn__9
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-qpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__10" c_qpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__10
-  :: Vector DMatrix -> IO (Vector DMatrix)
-qpIn__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__11" c_qpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__11
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-qpIn__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__12" c_qpIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__12
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-qpIn__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__13" c_qpIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__13
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-qpIn__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__14" c_qpIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__14
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-qpIn__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__15" c_qpIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__15
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qpIn__15 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__15 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__16" c_qpIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__16
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qpIn__16 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__17" c_qpIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__17
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qpIn__17 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__18" c_qpIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__18
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qpIn__18 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__19" c_qpIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpIn__19
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-qpIn__19 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__20" c_qpIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__20
-  :: Vector MX -> IO (Vector MX)
-qpIn__20 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__20 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__21" c_qpIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__21
-  :: Vector MX -> String -> IO (Vector MX)
-qpIn__21 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__21 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__22" c_qpIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__22
-  :: Vector MX -> String -> String -> IO (Vector MX)
-qpIn__22 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__22 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__23" c_qpIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__23
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-qpIn__23 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__23 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__24" c_qpIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__24
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-qpIn__24 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__24 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__25" c_qpIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__25
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-qpIn__25 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__26" c_qpIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__26
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qpIn__26 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__27" c_qpIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__27
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qpIn__27 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__28" c_qpIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__28
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qpIn__28 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__28 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__29" c_qpIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpIn__29
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-qpIn__29 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__29 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__30" c_qpIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__30
-  :: Vector SX -> IO (Vector SX)
-qpIn__30 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__30 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__31" c_qpIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__31
-  :: Vector SX -> String -> IO (Vector SX)
-qpIn__31 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__31 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__32" c_qpIn__32
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__32
-  :: Vector SX -> String -> String -> IO (Vector SX)
-qpIn__32 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__32 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__33" c_qpIn__33
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__33
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-qpIn__33 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__33 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__34" c_qpIn__34
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__34
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-qpIn__34 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__34 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__35" c_qpIn__35
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__35
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-qpIn__35 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__36" c_qpIn__36
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__36
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qpIn__36 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__37" c_qpIn__37
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__37
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qpIn__37 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__38" c_qpIn__38
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__38
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qpIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpIn__39" c_qpIn__39
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpIn__39
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-qpIn__39 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpIn__39 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__0" c_qpOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-qpOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__1" c_qpOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-qpOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__2" c_qpOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-qpOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__3" c_qpOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-qpOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__4" c_qpOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-qpOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__5" c_qpOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpOut__5
-  :: Vector DMatrix -> IO (Vector DMatrix)
-qpOut__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__6" c_qpOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpOut__6
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-qpOut__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__7" c_qpOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpOut__7
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-qpOut__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__8" c_qpOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpOut__8
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-qpOut__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__9" c_qpOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-qpOut__9
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-qpOut__9 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__9 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__10" c_qpOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-qpOut__10
-  :: Vector MX -> IO (Vector MX)
-qpOut__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__11" c_qpOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpOut__11
-  :: Vector MX -> String -> IO (Vector MX)
-qpOut__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__12" c_qpOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpOut__12
-  :: Vector MX -> String -> String -> IO (Vector MX)
-qpOut__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__13" c_qpOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpOut__13
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-qpOut__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__14" c_qpOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-qpOut__14
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-qpOut__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__15" c_qpOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-qpOut__15
-  :: Vector SX -> IO (Vector SX)
-qpOut__15 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__15 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__16" c_qpOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpOut__16
-  :: Vector SX -> String -> IO (Vector SX)
-qpOut__16 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__16 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__17" c_qpOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpOut__17
-  :: Vector SX -> String -> String -> IO (Vector SX)
-qpOut__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__18" c_qpOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpOut__18
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-qpOut__18 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__18 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpOut__19" c_qpOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-qpOut__19
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-qpOut__19 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpOut__19 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpStruct__0" c_qpStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-qpStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpStruct__1" c_qpStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-qpStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "qpStruct__2" c_qpStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-qpStruct__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-qpStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_qpStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "quad_form__0" c_quad_form__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Calculate quadratic form X^T X.
--}
-quad_form__0
-  :: MX -> IO MX
-quad_form__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_quad_form__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "quad_form__1" c_quad_form__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Calculate quadratic form X^T A X.
--}
-quad_form__1
-  :: MX -> MX -> IO MX
-quad_form__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_quad_form__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "quad_form__2" c_quad_form__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Calculate quadratic form X^T X.
--}
-quad_form__2
-  :: SX -> IO SX
-quad_form__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_quad_form__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "quad_form__3" c_quad_form__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Calculate quadratic form X^T A X.
--}
-quad_form__3
-  :: SX -> SX -> IO SX
-quad_form__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_quad_form__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "quad_form__4" c_quad_form__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Calculate quadratic form X^T X.
--}
-quad_form__4
-  :: DMatrix -> IO DMatrix
-quad_form__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_quad_form__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "quad_form__5" c_quad_form__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Calculate quadratic form X^T A X.
--}
-quad_form__5
-  :: DMatrix -> DMatrix -> IO DMatrix
-quad_form__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_quad_form__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "quad_form__6" c_quad_form__6
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Calculate quadratic form X^T X.
--}
-quad_form__6
-  :: IMatrix -> IO IMatrix
-quad_form__6 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_quad_form__6 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "quad_form__7" c_quad_form__7
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Calculate quadratic form X^T A X.
--}
-quad_form__7
-  :: IMatrix -> IMatrix -> IO IMatrix
-quad_form__7 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_quad_form__7 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "ramp" c_ramp
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->ramp function
->
->\\\\[ \\\\begin {cases} R(x) = 0 & x <= 1 \\\\\\\\ R(x) = x & x > 1 \\\\\\\\
->\\\\end {cases} \\\\]
->
->Also called: slope function
--}
-ramp
-  :: SX -> IO SX
-ramp x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_ramp errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rank" c_rank
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO CInt
-{-|
->Obtain the structural rank of a sparsity-pattern.
--}
-rank
-  :: Sparsity -> IO Int
-rank x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rank errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__0" c_rdaeIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-rdaeIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__1" c_rdaeIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-rdaeIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__2" c_rdaeIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-rdaeIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__3" c_rdaeIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-rdaeIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__4" c_rdaeIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-rdaeIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__5" c_rdaeIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-rdaeIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__6" c_rdaeIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-rdaeIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__7" c_rdaeIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-rdaeIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__8" c_rdaeIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeIn__8
-  :: Vector DMatrix -> IO (Vector DMatrix)
-rdaeIn__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__9" c_rdaeIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeIn__9
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-rdaeIn__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__10" c_rdaeIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeIn__10
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-rdaeIn__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__11" c_rdaeIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeIn__11
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-rdaeIn__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__12" c_rdaeIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeIn__12
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-rdaeIn__12 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__12 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__13" c_rdaeIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeIn__13
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-rdaeIn__13 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__13 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__14" c_rdaeIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeIn__14
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-rdaeIn__14 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__14 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__15" c_rdaeIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeIn__15
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-rdaeIn__15 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__16" c_rdaeIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-rdaeIn__16
-  :: Vector MX -> IO (Vector MX)
-rdaeIn__16 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__16 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__17" c_rdaeIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeIn__17
-  :: Vector MX -> String -> IO (Vector MX)
-rdaeIn__17 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__17 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__18" c_rdaeIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeIn__18
-  :: Vector MX -> String -> String -> IO (Vector MX)
-rdaeIn__18 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__18 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__19" c_rdaeIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeIn__19
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-rdaeIn__19 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__19 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__20" c_rdaeIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeIn__20
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-rdaeIn__20 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__20 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__21" c_rdaeIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeIn__21
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-rdaeIn__21 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__21 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__22" c_rdaeIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeIn__22
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-rdaeIn__22 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__23" c_rdaeIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeIn__23
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-rdaeIn__23 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__24" c_rdaeIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-rdaeIn__24
-  :: Vector SX -> IO (Vector SX)
-rdaeIn__24 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__24 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__25" c_rdaeIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeIn__25
-  :: Vector SX -> String -> IO (Vector SX)
-rdaeIn__25 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__25 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__26" c_rdaeIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeIn__26
-  :: Vector SX -> String -> String -> IO (Vector SX)
-rdaeIn__26 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__26 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__27" c_rdaeIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeIn__27
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-rdaeIn__27 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__27 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__28" c_rdaeIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeIn__28
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-rdaeIn__28 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__28 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__29" c_rdaeIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeIn__29
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-rdaeIn__29 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__29 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__30" c_rdaeIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeIn__30
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-rdaeIn__30 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__30 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeIn__31" c_rdaeIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeIn__31
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-rdaeIn__31 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeIn__31 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__0" c_rdaeOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-rdaeOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__1" c_rdaeOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-rdaeOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__2" c_rdaeOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-rdaeOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__3" c_rdaeOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-rdaeOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-rdaeOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__4" c_rdaeOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeOut__4
-  :: Vector DMatrix -> IO (Vector DMatrix)
-rdaeOut__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__5" c_rdaeOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeOut__5
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-rdaeOut__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__6" c_rdaeOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeOut__6
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-rdaeOut__6 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__6 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__7" c_rdaeOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-rdaeOut__7
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-rdaeOut__7 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__7 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__8" c_rdaeOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-rdaeOut__8
-  :: Vector MX -> IO (Vector MX)
-rdaeOut__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__9" c_rdaeOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeOut__9
-  :: Vector MX -> String -> IO (Vector MX)
-rdaeOut__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__10" c_rdaeOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeOut__10
-  :: Vector MX -> String -> String -> IO (Vector MX)
-rdaeOut__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__11" c_rdaeOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-rdaeOut__11
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-rdaeOut__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__12" c_rdaeOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-rdaeOut__12
-  :: Vector SX -> IO (Vector SX)
-rdaeOut__12 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__12 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__13" c_rdaeOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeOut__13
-  :: Vector SX -> String -> IO (Vector SX)
-rdaeOut__13 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__13 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__14" c_rdaeOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeOut__14
-  :: Vector SX -> String -> String -> IO (Vector SX)
-rdaeOut__14 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__14 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rdaeOut__15" c_rdaeOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-rdaeOut__15
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-rdaeOut__15 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rdaeOut__15 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "rectangle" c_rectangle
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->rectangle function
->
->\\\\[ \\\\begin {cases} \\\\Pi(x) = 1 & |x| < 1/2 \\\\\\\\ \\\\Pi(x) = 1/2 &
->|x| = 1/2 \\\\\\\\ \\\\Pi(x) = 0 & |x| > 1/2 \\\\\\\\ \\\\end {cases} \\\\]
->
->Also called: gate function, block function, band function, pulse function,
->window function
--}
-rectangle
-  :: SX -> IO SX
-rectangle x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_rectangle errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "repmat__0" c_repmat__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-{-|
->Repeat matrix A n times vertically and m times horizontally.
--}
-repmat__0
-  :: MX -> Int -> Int -> IO MX
-repmat__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_repmat__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "repmat__1" c_repmat__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-{-|
->Repeat matrix A n times vertically and m times horizontally.
--}
-repmat__1
-  :: SX -> Int -> Int -> IO SX
-repmat__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_repmat__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "repmat__2" c_repmat__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-{-|
->Repeat matrix A n times vertically and m times horizontally.
--}
-repmat__2
-  :: DMatrix -> Int -> Int -> IO DMatrix
-repmat__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_repmat__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "repmat__3" c_repmat__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-{-|
->Repeat matrix A n times vertically and m times horizontally.
--}
-repmat__3
-  :: IMatrix -> Int -> Int -> IO IMatrix
-repmat__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_repmat__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "reshape__0" c_reshape__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-{-|
->Reshape the MX.
--}
-reshape__0
-  :: MX -> Sparsity -> IO MX
-reshape__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_reshape__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "reshape__1" c_reshape__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-{-|
->Reshape the sparsity pattern keeping the relative location of the nonzeros.
--}
-reshape__1
-  :: Sparsity -> Int -> Int -> IO Sparsity
-reshape__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_reshape__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "reshape__2" c_reshape__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-{-|
->Transpose of a matrix.
--}
-reshape__2
-  :: SX -> Sparsity -> IO SX
-reshape__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_reshape__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "reshape__3" c_reshape__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-{-|
->Transpose of a matrix.
--}
-reshape__3
-  :: SX -> Int -> Int -> IO SX
-reshape__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_reshape__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "reshape__4" c_reshape__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-{-|
->Transpose of a matrix.
--}
-reshape__4
-  :: DMatrix -> Sparsity -> IO DMatrix
-reshape__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_reshape__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "reshape__5" c_reshape__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-{-|
->Transpose of a matrix.
--}
-reshape__5
-  :: DMatrix -> Int -> Int -> IO DMatrix
-reshape__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_reshape__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "reshape__6" c_reshape__6
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-{-|
->Transpose of a matrix.
--}
-reshape__6
-  :: IMatrix -> Sparsity -> IO IMatrix
-reshape__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_reshape__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "reshape__7" c_reshape__7
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-{-|
->Transpose of a matrix.
--}
-reshape__7
-  :: IMatrix -> Int -> Int -> IO IMatrix
-reshape__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_reshape__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__0" c_sdpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-sdpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__1" c_sdpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-sdpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__2" c_sdpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-sdpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__3" c_sdpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-sdpIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__4" c_sdpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__5" c_sdpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__6" c_sdpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__7" c_sdpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__8" c_sdpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpIn__8
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__9" c_sdpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__9
-  :: Vector DMatrix -> IO (Vector DMatrix)
-sdpIn__9 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__9 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__10" c_sdpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__10
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-sdpIn__10 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__10 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__11" c_sdpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__11
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-sdpIn__11 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__11 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__12" c_sdpIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__12
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-sdpIn__12 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__12 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__13" c_sdpIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__13
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpIn__13 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__13 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__14" c_sdpIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__14
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpIn__14 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__14 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__15" c_sdpIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__15
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpIn__15 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__16" c_sdpIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__16
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpIn__16 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__17" c_sdpIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpIn__17
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpIn__17 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__18" c_sdpIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__18
-  :: Vector MX -> IO (Vector MX)
-sdpIn__18 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__18 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__19" c_sdpIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__19
-  :: Vector MX -> String -> IO (Vector MX)
-sdpIn__19 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__19 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__20" c_sdpIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__20
-  :: Vector MX -> String -> String -> IO (Vector MX)
-sdpIn__20 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__20 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__21" c_sdpIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__21
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-sdpIn__21 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__21 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__22" c_sdpIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__22
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-sdpIn__22 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__22 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__23" c_sdpIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__23
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdpIn__23 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__23 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__24" c_sdpIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__24
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdpIn__24 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__24 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__25" c_sdpIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__25
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdpIn__25 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__26" c_sdpIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpIn__26
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdpIn__26 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__27" c_sdpIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__27
-  :: Vector SX -> IO (Vector SX)
-sdpIn__27 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__27 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__28" c_sdpIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__28
-  :: Vector SX -> String -> IO (Vector SX)
-sdpIn__28 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__28 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__29" c_sdpIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__29
-  :: Vector SX -> String -> String -> IO (Vector SX)
-sdpIn__29 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__29 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__30" c_sdpIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__30
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-sdpIn__30 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__30 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__31" c_sdpIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__31
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-sdpIn__31 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__31 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__32" c_sdpIn__32
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__32
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdpIn__32 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__32 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__33" c_sdpIn__33
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__33
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdpIn__33 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__33 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__34" c_sdpIn__34
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__34
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdpIn__34 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__34 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpIn__35" c_sdpIn__35
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpIn__35
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdpIn__35 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__0" c_sdpOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-sdpOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__1" c_sdpOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-sdpOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__2" c_sdpOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-sdpOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__3" c_sdpOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-sdpOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__4" c_sdpOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__5" c_sdpOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpOut__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpOut__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__6" c_sdpOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpOut__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpOut__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__7" c_sdpOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpOut__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdpOut__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__8" c_sdpOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpOut__8
-  :: Vector DMatrix -> IO (Vector DMatrix)
-sdpOut__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__9" c_sdpOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpOut__9
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-sdpOut__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__10" c_sdpOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpOut__10
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-sdpOut__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__11" c_sdpOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpOut__11
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-sdpOut__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__12" c_sdpOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpOut__12
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpOut__12 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__12 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__13" c_sdpOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpOut__13
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpOut__13 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__13 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__14" c_sdpOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpOut__14
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpOut__14 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__14 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__15" c_sdpOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdpOut__15
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdpOut__15 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__16" c_sdpOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-sdpOut__16
-  :: Vector MX -> IO (Vector MX)
-sdpOut__16 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__16 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__17" c_sdpOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpOut__17
-  :: Vector MX -> String -> IO (Vector MX)
-sdpOut__17 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__17 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__18" c_sdpOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpOut__18
-  :: Vector MX -> String -> String -> IO (Vector MX)
-sdpOut__18 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__18 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__19" c_sdpOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpOut__19
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-sdpOut__19 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__19 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__20" c_sdpOut__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpOut__20
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-sdpOut__20 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__20 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__21" c_sdpOut__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpOut__21
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdpOut__21 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__21 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__22" c_sdpOut__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpOut__22
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdpOut__22 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__23" c_sdpOut__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdpOut__23
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdpOut__23 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__24" c_sdpOut__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-sdpOut__24
-  :: Vector SX -> IO (Vector SX)
-sdpOut__24 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__24 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__25" c_sdpOut__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpOut__25
-  :: Vector SX -> String -> IO (Vector SX)
-sdpOut__25 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__25 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__26" c_sdpOut__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpOut__26
-  :: Vector SX -> String -> String -> IO (Vector SX)
-sdpOut__26 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__26 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__27" c_sdpOut__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpOut__27
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-sdpOut__27 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__27 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__28" c_sdpOut__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpOut__28
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-sdpOut__28 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__28 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__29" c_sdpOut__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpOut__29
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdpOut__29 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__29 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__30" c_sdpOut__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpOut__30
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdpOut__30 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__30 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpOut__31" c_sdpOut__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdpOut__31
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdpOut__31 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpOut__31 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpStruct__0" c_sdpStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-sdpStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpStruct__1" c_sdpStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-sdpStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpStruct__2" c_sdpStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpStruct__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-sdpStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdpStruct__3" c_sdpStruct__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdpStruct__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-sdpStruct__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdpStruct__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__0" c_sdqpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-sdqpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__1" c_sdqpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-sdqpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__2" c_sdqpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-sdqpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__3" c_sdqpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-sdqpIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__4" c_sdqpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__5" c_sdqpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__6" c_sdqpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__7" c_sdqpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__8" c_sdqpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__8
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__9" c_sdqpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpIn__9
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__10" c_sdqpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__10
-  :: Vector DMatrix -> IO (Vector DMatrix)
-sdqpIn__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__11" c_sdqpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__11
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-sdqpIn__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__12" c_sdqpIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__12
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-sdqpIn__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__13" c_sdqpIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__13
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-sdqpIn__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__14" c_sdqpIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__14
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpIn__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__15" c_sdqpIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__15
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpIn__15 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__15 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__16" c_sdqpIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__16
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpIn__16 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__17" c_sdqpIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__17
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpIn__17 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__18" c_sdqpIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__18
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpIn__18 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__19" c_sdqpIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpIn__19
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpIn__19 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__20" c_sdqpIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__20
-  :: Vector MX -> IO (Vector MX)
-sdqpIn__20 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__20 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__21" c_sdqpIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__21
-  :: Vector MX -> String -> IO (Vector MX)
-sdqpIn__21 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__21 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__22" c_sdqpIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__22
-  :: Vector MX -> String -> String -> IO (Vector MX)
-sdqpIn__22 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__22 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__23" c_sdqpIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__23
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-sdqpIn__23 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__23 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__24" c_sdqpIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__24
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-sdqpIn__24 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__24 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__25" c_sdqpIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__25
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdqpIn__25 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__26" c_sdqpIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__26
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdqpIn__26 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__27" c_sdqpIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__27
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdqpIn__27 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__28" c_sdqpIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__28
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdqpIn__28 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__28 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__29" c_sdqpIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpIn__29
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdqpIn__29 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__29 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__30" c_sdqpIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__30
-  :: Vector SX -> IO (Vector SX)
-sdqpIn__30 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__30 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__31" c_sdqpIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__31
-  :: Vector SX -> String -> IO (Vector SX)
-sdqpIn__31 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__31 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__32" c_sdqpIn__32
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__32
-  :: Vector SX -> String -> String -> IO (Vector SX)
-sdqpIn__32 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__32 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__33" c_sdqpIn__33
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__33
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-sdqpIn__33 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__33 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__34" c_sdqpIn__34
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__34
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-sdqpIn__34 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__34 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__35" c_sdqpIn__35
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__35
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdqpIn__35 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__36" c_sdqpIn__36
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__36
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdqpIn__36 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__37" c_sdqpIn__37
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__37
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdqpIn__37 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__38" c_sdqpIn__38
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__38
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdqpIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpIn__39" c_sdqpIn__39
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpIn__39
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdqpIn__39 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpIn__39 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__0" c_sdqpOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-sdqpOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__1" c_sdqpOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-sdqpOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__2" c_sdqpOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-sdqpOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__3" c_sdqpOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-sdqpOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__4" c_sdqpOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__5" c_sdqpOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpOut__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpOut__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__6" c_sdqpOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpOut__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpOut__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__7" c_sdqpOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpOut__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpOut__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__8" c_sdqpOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpOut__8
-  :: Vector DMatrix -> IO (Vector DMatrix)
-sdqpOut__8 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__8 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__9" c_sdqpOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpOut__9
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-sdqpOut__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__10" c_sdqpOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpOut__10
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-sdqpOut__10 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__10 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__11" c_sdqpOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpOut__11
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-sdqpOut__11 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__11 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__12" c_sdqpOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpOut__12
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpOut__12 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__12 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__13" c_sdqpOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpOut__13
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpOut__13 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__13 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__14" c_sdqpOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpOut__14
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpOut__14 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__14 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__15" c_sdqpOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-sdqpOut__15
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-sdqpOut__15 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__16" c_sdqpOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-sdqpOut__16
-  :: Vector MX -> IO (Vector MX)
-sdqpOut__16 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__16 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__17" c_sdqpOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpOut__17
-  :: Vector MX -> String -> IO (Vector MX)
-sdqpOut__17 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__17 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__18" c_sdqpOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpOut__18
-  :: Vector MX -> String -> String -> IO (Vector MX)
-sdqpOut__18 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__18 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__19" c_sdqpOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpOut__19
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-sdqpOut__19 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__19 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__20" c_sdqpOut__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpOut__20
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-sdqpOut__20 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__20 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__21" c_sdqpOut__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpOut__21
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdqpOut__21 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__21 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__22" c_sdqpOut__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpOut__22
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdqpOut__22 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__23" c_sdqpOut__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-sdqpOut__23
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-sdqpOut__23 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__24" c_sdqpOut__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-sdqpOut__24
-  :: Vector SX -> IO (Vector SX)
-sdqpOut__24 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__24 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__25" c_sdqpOut__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpOut__25
-  :: Vector SX -> String -> IO (Vector SX)
-sdqpOut__25 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__25 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__26" c_sdqpOut__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpOut__26
-  :: Vector SX -> String -> String -> IO (Vector SX)
-sdqpOut__26 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__26 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__27" c_sdqpOut__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpOut__27
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-sdqpOut__27 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__27 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__28" c_sdqpOut__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpOut__28
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-sdqpOut__28 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__28 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__29" c_sdqpOut__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpOut__29
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdqpOut__29 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__29 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__30" c_sdqpOut__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpOut__30
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdqpOut__30 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__30 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpOut__31" c_sdqpOut__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-sdqpOut__31
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-sdqpOut__31 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpOut__31 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpStruct__0" c_sdqpStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-sdqpStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpStruct__1" c_sdqpStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-sdqpStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpStruct__2" c_sdqpStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpStruct__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-sdqpStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpStruct__3" c_sdqpStruct__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpStruct__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-sdqpStruct__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpStruct__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sdqpStruct__4" c_sdqpStruct__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-sdqpStruct__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-sdqpStruct__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sdqpStruct__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "simplify__0" c_simplify__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
-{-|
->Simplify an expression.
--}
-simplify__0
-  :: MX -> IO ()
-simplify__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_simplify__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "simplify__1" c_simplify__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
-{-|
->Simplify an expression.
--}
-simplify__1
-  :: SX -> IO ()
-simplify__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_simplify__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__0" c_socpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-socpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__1" c_socpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-socpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__2" c_socpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-socpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__3" c_socpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-socpIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__4" c_socpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-socpIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__5" c_socpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-socpIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__6" c_socpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-socpIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__7" c_socpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-socpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__8" c_socpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__8
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-socpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__9" c_socpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__9
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-socpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__10" c_socpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpIn__10
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-socpIn__10 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__10 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__11" c_socpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__11
-  :: Vector DMatrix -> IO (Vector DMatrix)
-socpIn__11 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__11 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__12" c_socpIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__12
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-socpIn__12 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__12 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__13" c_socpIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__13
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-socpIn__13 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__13 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__14" c_socpIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__14
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-socpIn__14 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__14 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__15" c_socpIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__15
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-socpIn__15 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__15 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__16" c_socpIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__16
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-socpIn__16 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__16 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__17" c_socpIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__17
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-socpIn__17 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__18" c_socpIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__18
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-socpIn__18 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__19" c_socpIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__19
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-socpIn__19 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__20" c_socpIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__20
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-socpIn__20 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__21" c_socpIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpIn__21
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-socpIn__21 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__21 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__22" c_socpIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__22
-  :: Vector MX -> IO (Vector MX)
-socpIn__22 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__22 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__23" c_socpIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__23
-  :: Vector MX -> String -> IO (Vector MX)
-socpIn__23 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__23 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__24" c_socpIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__24
-  :: Vector MX -> String -> String -> IO (Vector MX)
-socpIn__24 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__24 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__25" c_socpIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__25
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-socpIn__25 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__25 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__26" c_socpIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__26
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-socpIn__26 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__26 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__27" c_socpIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__27
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-socpIn__27 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__27 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__28" c_socpIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__28
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-socpIn__28 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__28 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__29" c_socpIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__29
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-socpIn__29 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__29 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__30" c_socpIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__30
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-socpIn__30 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__30 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__31" c_socpIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__31
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-socpIn__31 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__31 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__32" c_socpIn__32
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpIn__32
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-socpIn__32 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__32 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__33" c_socpIn__33
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__33
-  :: Vector SX -> IO (Vector SX)
-socpIn__33 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__33 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__34" c_socpIn__34
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__34
-  :: Vector SX -> String -> IO (Vector SX)
-socpIn__34 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__34 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__35" c_socpIn__35
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__35
-  :: Vector SX -> String -> String -> IO (Vector SX)
-socpIn__35 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__35 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__36" c_socpIn__36
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__36
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-socpIn__36 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__36 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__37" c_socpIn__37
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__37
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-socpIn__37 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__37 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__38" c_socpIn__38
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__38
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-socpIn__38 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__39" c_socpIn__39
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__39
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-socpIn__39 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__39 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__40" c_socpIn__40
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__40
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-socpIn__40 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__40 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__41" c_socpIn__41
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__41
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-socpIn__41 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__41 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__42" c_socpIn__42
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__42
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-socpIn__42 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__42 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpIn__43" c_socpIn__43
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpIn__43
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-socpIn__43 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpIn__43 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__0" c_socpOut__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpOut__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-socpOut__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__1" c_socpOut__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpOut__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-socpOut__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__2" c_socpOut__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpOut__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-socpOut__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__3" c_socpOut__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpOut__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-socpOut__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__4" c_socpOut__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpOut__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-socpOut__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__5" c_socpOut__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpOut__5
-  :: Vector DMatrix -> IO (Vector DMatrix)
-socpOut__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__6" c_socpOut__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpOut__6
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-socpOut__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__7" c_socpOut__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpOut__7
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-socpOut__7 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__7 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__8" c_socpOut__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpOut__8
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-socpOut__8 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__8 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__9" c_socpOut__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-socpOut__9
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-socpOut__9 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__9 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__10" c_socpOut__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-socpOut__10
-  :: Vector MX -> IO (Vector MX)
-socpOut__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__11" c_socpOut__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpOut__11
-  :: Vector MX -> String -> IO (Vector MX)
-socpOut__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__12" c_socpOut__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpOut__12
-  :: Vector MX -> String -> String -> IO (Vector MX)
-socpOut__12 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__12 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__13" c_socpOut__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpOut__13
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-socpOut__13 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__13 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__14" c_socpOut__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-socpOut__14
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-socpOut__14 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__14 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__15" c_socpOut__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-socpOut__15
-  :: Vector SX -> IO (Vector SX)
-socpOut__15 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__15 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__16" c_socpOut__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpOut__16
-  :: Vector SX -> String -> IO (Vector SX)
-socpOut__16 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__16 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__17" c_socpOut__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpOut__17
-  :: Vector SX -> String -> String -> IO (Vector SX)
-socpOut__17 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__17 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__18" c_socpOut__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpOut__18
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-socpOut__18 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__18 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpOut__19" c_socpOut__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-socpOut__19
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-socpOut__19 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpOut__19 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpStruct__0" c_socpStruct__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpStruct__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-socpStruct__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpStruct__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpStruct__1" c_socpStruct__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpStruct__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-socpStruct__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpStruct__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "socpStruct__2" c_socpStruct__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-socpStruct__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-socpStruct__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_socpStruct__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "solve__0" c_solve__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Solve a system of equations: A*x = b.
--}
-solve__0
-  :: MX -> MX -> IO MX
-solve__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_solve__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "solve__1" c_solve__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
-{-|
->Solve a system of equations: A*x = b.
--}
-solve__1
-  :: MX -> MX -> String -> IO MX
-solve__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_solve__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "solve__2" c_solve__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Solve a system of equations: A*x = b The solve routine works similar to
->Matlab's backslash when A is square and nonsingular. The algorithm used is
->the following:
->
->A simple forward or backward substitution if A is upper or lower triangular
->
->If the linear system is at most 3-by-3, form the inverse via minor expansion
->and multiply
->
->Permute the variables and equations as to get a (structurally) nonzero
->diagonal, then perform a QR factorization without pivoting and solve the
->factorized system.
->
->Note 1: If there are entries of the linear system known to be zero, these
->will be removed. Elements that are very small, or will evaluate to be zero,
->can still cause numerical errors, due to the lack of pivoting (which is not
->possible since cannot compare the size of entries)
->
->Note 2: When permuting the linear system, a BLT (block lower triangular)
->transformation is formed. Only the permutation part of this is however used.
->An improvement would be to solve block-by-block if there are multiple BLT
->blocks.
--}
-solve__2
-  :: SX -> SX -> IO SX
-solve__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_solve__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "solve__3" c_solve__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Solve a system of equations: A*x = b The solve routine works similar to
->Matlab's backslash when A is square and nonsingular. The algorithm used is
->the following:
->
->A simple forward or backward substitution if A is upper or lower triangular
->
->If the linear system is at most 3-by-3, form the inverse via minor expansion
->and multiply
->
->Permute the variables and equations as to get a (structurally) nonzero
->diagonal, then perform a QR factorization without pivoting and solve the
->factorized system.
->
->Note 1: If there are entries of the linear system known to be zero, these
->will be removed. Elements that are very small, or will evaluate to be zero,
->can still cause numerical errors, due to the lack of pivoting (which is not
->possible since cannot compare the size of entries)
->
->Note 2: When permuting the linear system, a BLT (block lower triangular)
->transformation is formed. Only the permutation part of this is however used.
->An improvement would be to solve block-by-block if there are multiple BLT
->blocks.
--}
-solve__3
-  :: DMatrix -> DMatrix -> IO DMatrix
-solve__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_solve__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "solve__4" c_solve__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Solve a system of equations: A*x = b The solve routine works similar to
->Matlab's backslash when A is square and nonsingular. The algorithm used is
->the following:
->
->A simple forward or backward substitution if A is upper or lower triangular
->
->If the linear system is at most 3-by-3, form the inverse via minor expansion
->and multiply
->
->Permute the variables and equations as to get a (structurally) nonzero
->diagonal, then perform a QR factorization without pivoting and solve the
->factorized system.
->
->Note 1: If there are entries of the linear system known to be zero, these
->will be removed. Elements that are very small, or will evaluate to be zero,
->can still cause numerical errors, due to the lack of pivoting (which is not
->possible since cannot compare the size of entries)
->
->Note 2: When permuting the linear system, a BLT (block lower triangular)
->transformation is formed. Only the permutation part of this is however used.
->An improvement would be to solve block-by-block if there are multiple BLT
->blocks.
--}
-solve__4
-  :: IMatrix -> IMatrix -> IO IMatrix
-solve__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_solve__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "solve__5" c_solve__5
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr StdString -> IO (Ptr DMatrix')
-{-|
->Solve a system of equations: A*x = b.
--}
-solve__5
-  :: DMatrix -> DMatrix -> String -> IO DMatrix
-solve__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_solve__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sparse__0" c_sparse__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Make a matrix sparse by removing numerical zeros.
--}
-sparse__0
-  :: SX -> IO SX
-sparse__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sparse__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sparse__1" c_sparse__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CDouble -> IO (Ptr SX')
-{-|
->Make a matrix sparse by removing numerical zeros.
--}
-sparse__1
-  :: SX -> Double -> IO SX
-sparse__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sparse__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sparse__2" c_sparse__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Make a matrix sparse by removing numerical zeros.
--}
-sparse__2
-  :: DMatrix -> IO DMatrix
-sparse__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sparse__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sparse__3" c_sparse__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CDouble -> IO (Ptr DMatrix')
-{-|
->Make a matrix sparse by removing numerical zeros.
--}
-sparse__3
-  :: DMatrix -> Double -> IO DMatrix
-sparse__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sparse__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sparse__4" c_sparse__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Make a matrix sparse by removing numerical zeros.
--}
-sparse__4
-  :: IMatrix -> IO IMatrix
-sparse__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sparse__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sparse__5" c_sparse__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CDouble -> IO (Ptr IMatrix')
-{-|
->Make a matrix sparse by removing numerical zeros.
--}
-sparse__5
-  :: IMatrix -> Double -> IO IMatrix
-sparse__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sparse__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sprank__0" c_sprank__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
-{-|
->Obtain the structural rank of a sparsity-pattern.
--}
-sprank__0
-  :: SX -> IO Int
-sprank__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sprank__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sprank__1" c_sprank__1
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CInt
-{-|
->Obtain the structural rank of a sparsity-pattern.
--}
-sprank__1
-  :: DMatrix -> IO Int
-sprank__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sprank__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sprank__2" c_sprank__2
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-{-|
->Obtain the structural rank of a sparsity-pattern.
--}
-sprank__2
-  :: IMatrix -> IO Int
-sprank__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sprank__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "spy" c_spy
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Get the sparsity pattern of a matrix.
--}
-spy
-  :: SX -> IO SX
-spy x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_spy errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__0" c_stabilizedQpIn__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__0
-  :: Vector Sparsity -> IO (Vector Sparsity)
-stabilizedQpIn__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__1" c_stabilizedQpIn__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__1
-  :: Vector Sparsity -> String -> IO (Vector Sparsity)
-stabilizedQpIn__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__2" c_stabilizedQpIn__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__2
-  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__3" c_stabilizedQpIn__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__3
-  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__4" c_stabilizedQpIn__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__4
-  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__4 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__4 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__5" c_stabilizedQpIn__5
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__5
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__5 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__6" c_stabilizedQpIn__6
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__6
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__6 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__7" c_stabilizedQpIn__7
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__7
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__8" c_stabilizedQpIn__8
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__8
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__9" c_stabilizedQpIn__9
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__9
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__10" c_stabilizedQpIn__10
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__10
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__10 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__10 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__11" c_stabilizedQpIn__11
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__11
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__11 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__11 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__12" c_stabilizedQpIn__12
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
-stabilizedQpIn__12
-  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
-stabilizedQpIn__12 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__12 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__13" c_stabilizedQpIn__13
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__13
-  :: Vector DMatrix -> IO (Vector DMatrix)
-stabilizedQpIn__13 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__13 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__14" c_stabilizedQpIn__14
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__14
-  :: Vector DMatrix -> String -> IO (Vector DMatrix)
-stabilizedQpIn__14 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__14 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__15" c_stabilizedQpIn__15
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__15
-  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__15 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__15 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__16" c_stabilizedQpIn__16
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__16
-  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__16 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__16 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__17" c_stabilizedQpIn__17
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__17
-  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__17 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__17 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__18" c_stabilizedQpIn__18
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__18
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__18 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__19" c_stabilizedQpIn__19
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__19
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__19 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__20" c_stabilizedQpIn__20
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__20
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__20 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__21" c_stabilizedQpIn__21
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__21
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__21 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__21 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__22" c_stabilizedQpIn__22
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__22
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__22 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__23" c_stabilizedQpIn__23
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__23
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__23 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__24" c_stabilizedQpIn__24
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__24
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__24 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__24 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__25" c_stabilizedQpIn__25
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
-stabilizedQpIn__25
-  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
-stabilizedQpIn__25 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__26" c_stabilizedQpIn__26
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__26
-  :: Vector MX -> IO (Vector MX)
-stabilizedQpIn__26 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__26 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__27" c_stabilizedQpIn__27
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__27
-  :: Vector MX -> String -> IO (Vector MX)
-stabilizedQpIn__27 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__27 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__28" c_stabilizedQpIn__28
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__28
-  :: Vector MX -> String -> String -> IO (Vector MX)
-stabilizedQpIn__28 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__28 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__29" c_stabilizedQpIn__29
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__29
-  :: Vector MX -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__29 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__29 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__30" c_stabilizedQpIn__30
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__30
-  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__30 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__30 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__31" c_stabilizedQpIn__31
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__31
-  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__31 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__31 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__32" c_stabilizedQpIn__32
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__32
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__32 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__32 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__33" c_stabilizedQpIn__33
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__33
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__33 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__33 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__34" c_stabilizedQpIn__34
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__34
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__34 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__34 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__35" c_stabilizedQpIn__35
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__35
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__35 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__36" c_stabilizedQpIn__36
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__36
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__36 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__37" c_stabilizedQpIn__37
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__37
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__37 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__38" c_stabilizedQpIn__38
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-stabilizedQpIn__38
-  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
-stabilizedQpIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__39" c_stabilizedQpIn__39
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__39
-  :: Vector SX -> IO (Vector SX)
-stabilizedQpIn__39 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__39 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__40" c_stabilizedQpIn__40
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__40
-  :: Vector SX -> String -> IO (Vector SX)
-stabilizedQpIn__40 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__40 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__41" c_stabilizedQpIn__41
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__41
-  :: Vector SX -> String -> String -> IO (Vector SX)
-stabilizedQpIn__41 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__41 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__42" c_stabilizedQpIn__42
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__42
-  :: Vector SX -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__42 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__42 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__43" c_stabilizedQpIn__43
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__43
-  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__43 x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__43 errStrPtrP x0' x1' x2' x3' x4'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__44" c_stabilizedQpIn__44
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__44
-  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__44 x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__44 errStrPtrP x0' x1' x2' x3' x4' x5'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__45" c_stabilizedQpIn__45
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__45
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__45 x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__45 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__46" c_stabilizedQpIn__46
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__46
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__46 x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__46 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__47" c_stabilizedQpIn__47
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__47
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__47 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__47 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__48" c_stabilizedQpIn__48
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__48
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__48 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__48 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__49" c_stabilizedQpIn__49
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__49
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__49 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__49 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__50" c_stabilizedQpIn__50
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__50
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__50 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__50 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "stabilizedQpIn__51" c_stabilizedQpIn__51
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
-stabilizedQpIn__51
-  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
-stabilizedQpIn__51 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_stabilizedQpIn__51 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substitute__0" c_substitute__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->Substitute variable var with expression expr in multiple expressions.
--}
-substitute__0
-  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
-substitute__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substitute__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substitute__1" c_substitute__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Substitute variable v with expression vdef in an expression ex.
--}
-substitute__1
-  :: MX -> MX -> MX -> IO MX
-substitute__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substitute__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substitute__2" c_substitute__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->Substitute variable var with expression expr in multiple expressions.
--}
-substitute__2
-  :: Vector SX -> Vector SX -> Vector SX -> IO (Vector SX)
-substitute__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substitute__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substitute__3" c_substitute__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Substitute variable v with expression vdef in an expression ex.
--}
-substitute__3
-  :: SX -> SX -> SX -> IO SX
-substitute__3 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substitute__3 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substituteInPlace__0" c_substituteInPlace__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
-{-|
->Substitute variable var out of or into an expression expr, with an arbitrary
->number of other expressions piggyback (vector version)
--}
-substituteInPlace__0
-  :: Vector SX -> Vector SX -> Vector SX -> IO ()
-substituteInPlace__0 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substituteInPlace__0 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substituteInPlace__1" c_substituteInPlace__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> CInt -> IO ()
-{-|
->Substitute variable var out of or into an expression expr, with an arbitrary
->number of other expressions piggyback (vector version)
--}
-substituteInPlace__1
-  :: Vector SX -> Vector SX -> Vector SX -> Bool -> IO ()
-substituteInPlace__1 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substituteInPlace__1 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substituteInPlace__2" c_substituteInPlace__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec (Ptr SX')) -> IO ()
-{-|
->Substitute variable var out of or into an expression expr, with an arbitrary
->number of other expressions piggyback.
--}
-substituteInPlace__2
-  :: SX -> SX -> Vector SX -> IO ()
-substituteInPlace__2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substituteInPlace__2 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substituteInPlace__3" c_substituteInPlace__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec (Ptr SX')) -> CInt -> IO ()
-{-|
->Substitute variable var out of or into an expression expr, with an arbitrary
->number of other expressions piggyback.
--}
-substituteInPlace__3
-  :: SX -> SX -> Vector SX -> Bool -> IO ()
-substituteInPlace__3 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substituteInPlace__3 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substituteInPlace__4" c_substituteInPlace__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
-{-|
->Substitute variable var out of or into an expression expr.
--}
-substituteInPlace__4
-  :: SX -> SX -> IO ()
-substituteInPlace__4 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substituteInPlace__4 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "substituteInPlace__5" c_substituteInPlace__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO ()
-{-|
->Substitute variable var out of or into an expression expr.
--}
-substituteInPlace__5
-  :: SX -> SX -> Bool -> IO ()
-substituteInPlace__5 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_substituteInPlace__5 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumAll__0" c_sumAll__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Return summation of all elements.
--}
-sumAll__0
-  :: MX -> IO MX
-sumAll__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumAll__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumAll__1" c_sumAll__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Return summation of all elements.
--}
-sumAll__1
-  :: SX -> IO SX
-sumAll__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumAll__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumAll__2" c_sumAll__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Return summation of all elements.
--}
-sumAll__2
-  :: DMatrix -> IO DMatrix
-sumAll__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumAll__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumAll__3" c_sumAll__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Return summation of all elements.
--}
-sumAll__3
-  :: IMatrix -> IO IMatrix
-sumAll__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumAll__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumCols__0" c_sumCols__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Return a col-wise summation of elements.
--}
-sumCols__0
-  :: MX -> IO MX
-sumCols__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumCols__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumCols__1" c_sumCols__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Return a col-wise summation of elements.
--}
-sumCols__1
-  :: SX -> IO SX
-sumCols__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumCols__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumCols__2" c_sumCols__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Return a col-wise summation of elements.
--}
-sumCols__2
-  :: DMatrix -> IO DMatrix
-sumCols__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumCols__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumCols__3" c_sumCols__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Return a col-wise summation of elements.
--}
-sumCols__3
-  :: IMatrix -> IO IMatrix
-sumCols__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumCols__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumRows__0" c_sumRows__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Return a row-wise summation of elements.
--}
-sumRows__0
-  :: MX -> IO MX
-sumRows__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumRows__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumRows__1" c_sumRows__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Return a row-wise summation of elements.
--}
-sumRows__1
-  :: SX -> IO SX
-sumRows__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumRows__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumRows__2" c_sumRows__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Return a row-wise summation of elements.
--}
-sumRows__2
-  :: DMatrix -> IO DMatrix
-sumRows__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumRows__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sumRows__3" c_sumRows__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Return a row-wise summation of elements.
--}
-sumRows__3
-  :: IMatrix -> IO IMatrix
-sumRows__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sumRows__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sum_square__0" c_sum_square__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Calculate some of squares: sum_ij X_ij^2.
--}
-sum_square__0
-  :: MX -> IO MX
-sum_square__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sum_square__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sum_square__1" c_sum_square__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Calculate some of squares: sum_ij X_ij^2.
--}
-sum_square__1
-  :: SX -> IO SX
-sum_square__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sum_square__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sum_square__2" c_sum_square__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Calculate some of squares: sum_ij X_ij^2.
--}
-sum_square__2
-  :: DMatrix -> IO DMatrix
-sum_square__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sum_square__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "sum_square__3" c_sum_square__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Calculate some of squares: sum_ij X_ij^2.
--}
-sum_square__3
-  :: IMatrix -> IO IMatrix
-sum_square__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_sum_square__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tangent__0" c_tangent__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->split horizontally, retaining groups of cols
->
->Parameters:
->-----------
->
->output_offset:  List of all start cols for each group the last col group
->will run to the end.
->
->horzcat(horzsplit(x, ...)) = x
--}
-tangent__0
-  :: MX -> MX -> IO MX
-tangent__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tangent__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tangent__1" c_tangent__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-tangent__1
-  :: SX -> SX -> IO SX
-tangent__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tangent__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "taylor__0" c_taylor__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->univariate Taylor series expansion
->
->Calculate the Taylor expansion of expression 'ex' up to order 'order' with
->respect to variable 'x' around the point 'a'
->
->$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac
->{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$
->
->Example usage:
->
->::
->
->>>   x
--}
-taylor__0
-  :: SX -> SX -> IO SX
-taylor__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_taylor__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "taylor__1" c_taylor__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->univariate Taylor series expansion
->
->Calculate the Taylor expansion of expression 'ex' up to order 'order' with
->respect to variable 'x' around the point 'a'
->
->$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac
->{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$
->
->Example usage:
->
->::
->
->>>   x
--}
-taylor__1
-  :: SX -> SX -> SX -> IO SX
-taylor__1 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_taylor__1 errStrPtrP x0' x1' x2'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "taylor__2" c_taylor__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->univariate Taylor series expansion
->
->Calculate the Taylor expansion of expression 'ex' up to order 'order' with
->respect to variable 'x' around the point 'a'
->
->$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac
->{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$
->
->Example usage:
->
->::
->
->>>   x
--}
-taylor__2
-  :: SX -> SX -> SX -> Int -> IO SX
-taylor__2 x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_taylor__2 errStrPtrP x0' x1' x2' x3'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "trace__0" c_trace__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Matrix trace.
--}
-trace__0
-  :: MX -> IO MX
-trace__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_trace__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "trace__1" c_trace__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SXElement')
-{-|
->Transpose of a matrix.
--}
-trace__1
-  :: SX -> IO SXElement
-trace__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_trace__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "trace__2" c_trace__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO CDouble
-{-|
->Transpose of a matrix.
--}
-trace__2
-  :: DMatrix -> IO Double
-trace__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_trace__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "trace__3" c_trace__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO CInt
-{-|
->Transpose of a matrix.
--}
-trace__3
-  :: IMatrix -> IO Int
-trace__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_trace__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "transpose__0" c_transpose__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Transpose an expression.
--}
-transpose__0
-  :: MX -> IO MX
-transpose__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_transpose__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "transpose__1" c_transpose__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-{-|
->Transpose the pattern.
--}
-transpose__1
-  :: Sparsity -> IO Sparsity
-transpose__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_transpose__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "transpose__2" c_transpose__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Transpose of a matrix.
--}
-transpose__2
-  :: SX -> IO SX
-transpose__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_transpose__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "transpose__3" c_transpose__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Transpose of a matrix.
--}
-transpose__3
-  :: DMatrix -> IO DMatrix
-transpose__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_transpose__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "transpose__4" c_transpose__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Transpose of a matrix.
--}
-transpose__4
-  :: IMatrix -> IO IMatrix
-transpose__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_transpose__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triangle" c_triangle
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->triangle function
->
->\\\\[ \\\\begin {cases} \\\\Lambda(x) = 0 & |x| >= 1 \\\\\\\\ \\\\Lambda(x)
->= 1-|x| & |x| < 1 \\\\end {cases} \\\\]
--}
-triangle
-  :: SX -> IO SX
-triangle x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triangle errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril__0" c_tril__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-{-|
->Get lower triangular part.
--}
-tril__0
-  :: Sparsity -> IO Sparsity
-tril__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril__1" c_tril__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-{-|
->Get lower triangular part.
--}
-tril__1
-  :: Sparsity -> Bool -> IO Sparsity
-tril__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril__2" c_tril__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Get the lower triangular part of a matrix.
--}
-tril__2
-  :: MX -> IO MX
-tril__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril__3" c_tril__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Get the lower triangular part of a matrix.
--}
-tril__3
-  :: SX -> IO SX
-tril__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril__4" c_tril__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Get the lower triangular part of a matrix.
--}
-tril__4
-  :: DMatrix -> IO DMatrix
-tril__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril__5" c_tril__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Get the lower triangular part of a matrix.
--}
-tril__5
-  :: IMatrix -> IO IMatrix
-tril__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril2symm__0" c_tril2symm__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Convert a lower triangular matrix to a symmetric one.
--}
-tril2symm__0
-  :: MX -> IO MX
-tril2symm__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril2symm__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril2symm__1" c_tril2symm__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Convert a lower triangular matrix to a symmetric one.
--}
-tril2symm__1
-  :: SX -> IO SX
-tril2symm__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril2symm__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril2symm__2" c_tril2symm__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Convert a lower triangular matrix to a symmetric one.
--}
-tril2symm__2
-  :: DMatrix -> IO DMatrix
-tril2symm__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril2symm__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "tril2symm__3" c_tril2symm__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Convert a lower triangular matrix to a symmetric one.
--}
-tril2symm__3
-  :: IMatrix -> IO IMatrix
-tril2symm__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_tril2symm__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu__0" c_triu__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-{-|
->Get upper triangular part.
--}
-triu__0
-  :: Sparsity -> IO Sparsity
-triu__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu__1" c_triu__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-{-|
->Get upper triangular part.
--}
-triu__1
-  :: Sparsity -> Bool -> IO Sparsity
-triu__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu__2" c_triu__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Get the upper triangular part of a matrix.
--}
-triu__2
-  :: MX -> IO MX
-triu__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu__3" c_triu__3
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Get the upper triangular part of a matrix.
--}
-triu__3
-  :: SX -> IO SX
-triu__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu__4" c_triu__4
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Get the upper triangular part of a matrix.
--}
-triu__4
-  :: DMatrix -> IO DMatrix
-triu__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu__5" c_triu__5
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Get the upper triangular part of a matrix.
--}
-triu__5
-  :: IMatrix -> IO IMatrix
-triu__5 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu__5 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu2symm__0" c_triu2symm__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Convert a upper triangular matrix to a symmetric one.
--}
-triu2symm__0
-  :: MX -> IO MX
-triu2symm__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu2symm__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu2symm__1" c_triu2symm__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Convert a upper triangular matrix to a symmetric one.
--}
-triu2symm__1
-  :: SX -> IO SX
-triu2symm__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu2symm__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu2symm__2" c_triu2symm__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Convert a upper triangular matrix to a symmetric one.
--}
-triu2symm__2
-  :: DMatrix -> IO DMatrix
-triu2symm__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu2symm__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "triu2symm__3" c_triu2symm__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Convert a upper triangular matrix to a symmetric one.
--}
-triu2symm__3
-  :: IMatrix -> IO IMatrix
-triu2symm__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_triu2symm__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "unite__0" c_unite__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-{-|
->Unite two matrices no overlapping sparsity.
--}
-unite__0
-  :: MX -> MX -> IO MX
-unite__0 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_unite__0 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "unite__1" c_unite__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Unite two matrices no overlapping sparsity.
--}
-unite__1
-  :: SX -> SX -> IO SX
-unite__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_unite__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "unite__2" c_unite__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Unite two matrices no overlapping sparsity.
--}
-unite__2
-  :: DMatrix -> DMatrix -> IO DMatrix
-unite__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_unite__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "unite__3" c_unite__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Unite two matrices no overlapping sparsity.
--}
-unite__3
-  :: IMatrix -> IMatrix -> IO IMatrix
-unite__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_unite__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vec__0" c_vec__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Returns a vectorized version of the MX Same as reshape(x, x.numel(), 1)
->
->a c b d
->
->turns into
->
->a b c d
--}
-vec__0
-  :: MX -> IO MX
-vec__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vec__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vec__1" c_vec__1
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> IO (Ptr Sparsity')
-{-|
->Vectorize the pattern.
--}
-vec__1
-  :: Sparsity -> IO Sparsity
-vec__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vec__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vec__2" c_vec__2
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->make a vector Reshapes/vectorizes the Matrix<DataType> such that the shape
->becomes (expr.numel(), 1). Columns are stacked on top of each other. Same as
->reshape(expr, expr.numel(), 1)
->
->a c b d  turns into
->
->a b c d
--}
-vec__2
-  :: SX -> IO SX
-vec__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vec__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vec__3" c_vec__3
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->make a vector Reshapes/vectorizes the Matrix<DataType> such that the shape
->becomes (expr.numel(), 1). Columns are stacked on top of each other. Same as
->reshape(expr, expr.numel(), 1)
->
->a c b d  turns into
->
->a b c d
--}
-vec__3
-  :: DMatrix -> IO DMatrix
-vec__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vec__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vec__4" c_vec__4
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->make a vector Reshapes/vectorizes the Matrix<DataType> such that the shape
->becomes (expr.numel(), 1). Columns are stacked on top of each other. Same as
->reshape(expr, expr.numel(), 1)
->
->a c b d  turns into
->
->a b c d
--}
-vec__4
-  :: IMatrix -> IO IMatrix
-vec__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vec__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vecNZ__0" c_vecNZ__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
-{-|
->Returns a vectorized version of the MX, preserving only nonzeros.
--}
-vecNZ__0
-  :: MX -> IO MX
-vecNZ__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vecNZ__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vecNZ__1" c_vecNZ__1
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
-{-|
->Returns a flattened version of the Matrix, preserving only nonzeros.
--}
-vecNZ__1
-  :: SX -> IO SX
-vecNZ__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vecNZ__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vecNZ__2" c_vecNZ__2
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
-{-|
->Returns a flattened version of the Matrix, preserving only nonzeros.
--}
-vecNZ__2
-  :: DMatrix -> IO DMatrix
-vecNZ__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vecNZ__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vecNZ__3" c_vecNZ__3
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Returns a flattened version of the Matrix, preserving only nonzeros.
--}
-vecNZ__3
-  :: IMatrix -> IO IMatrix
-vecNZ__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vecNZ__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vecNZcat__0" c_vecNZcat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->concatenate vertically while vecing all arguments with vecNZ
--}
-vecNZcat__0
-  :: Vector MX -> IO MX
-vecNZcat__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vecNZcat__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vecNZcat__1" c_vecNZcat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-{-|
->concatenate vertically while vectorizing all arguments with vecNZ
--}
-vecNZcat__1
-  :: Vector SX -> IO SX
-vecNZcat__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vecNZcat__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vecNZcat__2" c_vecNZcat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-{-|
->concatenate vertically while vectorizing all arguments with vecNZ
--}
-vecNZcat__2
-  :: Vector DMatrix -> IO DMatrix
-vecNZcat__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vecNZcat__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vecNZcat__3" c_vecNZcat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->concatenate vertically while vectorizing all arguments with vecNZ
--}
-vecNZcat__3
-  :: Vector IMatrix -> IO IMatrix
-vecNZcat__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vecNZcat__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "veccat__0" c_veccat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Concatenate vertically while vectorizing all arguments.
--}
-veccat__0
-  :: Vector MX -> IO MX
-veccat__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_veccat__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "veccat__1" c_veccat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-{-|
->concatenate vertically while vectorizing all arguments with vec
--}
-veccat__1
-  :: Vector SX -> IO SX
-veccat__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_veccat__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "veccat__2" c_veccat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-{-|
->concatenate vertically while vectorizing all arguments with vec
--}
-veccat__2
-  :: Vector DMatrix -> IO DMatrix
-veccat__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_veccat__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "veccat__3" c_veccat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->concatenate vertically while vectorizing all arguments with vec
--}
-veccat__3
-  :: Vector IMatrix -> IO IMatrix
-veccat__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_veccat__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertcat__0" c_vertcat__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->concatenate vertically
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertcat__0
-  :: Vector MX -> IO MX
-vertcat__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertcat__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertcat__1" c_vertcat__1
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-{-|
->Concatenate a list of sparsities vertically Alternative terminology:
->vertical stack, vstack, vertical append, [a;b].
--}
-vertcat__1
-  :: Vector Sparsity -> IO Sparsity
-vertcat__1 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertcat__1 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertcat__2" c_vertcat__2
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX')
-{-|
->Concatenate a list of matrices vertically Alternative terminology: vertical
->stack, vstack, vertical append, [a;b].
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertcat__2
-  :: Vector SX -> IO SX
-vertcat__2 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertcat__2 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertcat__3" c_vertcat__3
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-{-|
->Concatenate a list of matrices vertically Alternative terminology: vertical
->stack, vstack, vertical append, [a;b].
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertcat__3
-  :: Vector DMatrix -> IO DMatrix
-vertcat__3 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertcat__3 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertcat__4" c_vertcat__4
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->Concatenate a list of matrices vertically Alternative terminology: vertical
->stack, vstack, vertical append, [a;b].
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertcat__4
-  :: Vector IMatrix -> IO IMatrix
-vertcat__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertcat__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__0" c_vertsplit__0
-  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split vertically, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__0
-  :: MX -> IO (Vector MX)
-vertsplit__0 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__0 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__1" c_vertsplit__1
-  :: Ptr (Ptr StdString) -> Ptr MX' -> CInt -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split vertically, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__1
-  :: MX -> Int -> IO (Vector MX)
-vertsplit__1 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__1 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__2" c_vertsplit__2
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr MX')))
-{-|
->split vertically, retaining groups of rows
->
->Parameters:
->-----------
->
->output_offset:  List of all start rows for each group the last row group
->will run to the end.
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__2
-  :: MX -> Vector Int -> IO (Vector MX)
-vertsplit__2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__2 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__3" c_vertsplit__3
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr Sparsity')))
-{-|
->Split up a sparsity pattern vertically.
--}
-vertsplit__3
-  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
-vertsplit__3 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__3 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__4" c_vertsplit__4
-  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split vertically, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__4
-  :: SX -> IO (Vector SX)
-vertsplit__4 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__4 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__5" c_vertsplit__5
-  :: Ptr (Ptr StdString) -> Ptr SX' -> CInt -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split vertically, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__5
-  :: SX -> Int -> IO (Vector SX)
-vertsplit__5 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__5 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__6" c_vertsplit__6
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr SX')))
-{-|
->split vertically, retaining groups of rows
->
->Parameters:
->-----------
->
->output_offset:  List of all start rows for each group the last row group
->will run to the end.
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__6
-  :: SX -> Vector Int -> IO (Vector SX)
-vertsplit__6 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__6 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__7" c_vertsplit__7
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split vertically, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__7
-  :: DMatrix -> IO (Vector DMatrix)
-vertsplit__7 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__7 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__8" c_vertsplit__8
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> CInt -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split vertically, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__8
-  :: DMatrix -> Int -> IO (Vector DMatrix)
-vertsplit__8 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__8 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__9" c_vertsplit__9
-  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr DMatrix')))
-{-|
->split vertically, retaining groups of rows
->
->Parameters:
->-----------
->
->output_offset:  List of all start rows for each group the last row group
->will run to the end.
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__9
-  :: DMatrix -> Vector Int -> IO (Vector DMatrix)
-vertsplit__9 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__9 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__10" c_vertsplit__10
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split vertically, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__10
-  :: IMatrix -> IO (Vector IMatrix)
-vertsplit__10 x0 =
-  withMarshal x0 $ \x0' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__10 errStrPtrP x0'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__11" c_vertsplit__11
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> CInt -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split vertically, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__11
-  :: IMatrix -> Int -> IO (Vector IMatrix)
-vertsplit__11 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__11 errStrPtrP x0' x1'
-    errStrPtr <- peek errStrPtrP
-    free errStrPtrP
-    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
-
-
-foreign import ccall unsafe "vertsplit__12" c_vertsplit__12
-  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr (StdVec CInt) -> IO (Ptr (StdVec (Ptr IMatrix')))
-{-|
->split vertically, retaining groups of rows
->
->Parameters:
->-----------
->
->output_offset:  List of all start rows for each group the last row group
->will run to the end.
->
->vertcat(vertsplit(x, ...)) = x
--}
-vertsplit__12
-  :: IMatrix -> Vector Int -> IO (Vector IMatrix)
-vertsplit__12 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  do
-    errStrPtrP <- new nullPtr
-    ret <- c_vertsplit__12 errStrPtrP x0' x1'
+         cleIn__0,
+         cleIn__1,
+         cleIn__10,
+         cleIn__11,
+         cleIn__2,
+         cleIn__3,
+         cleIn__4,
+         cleIn__5,
+         cleIn__6,
+         cleIn__7,
+         cleIn__8,
+         cleIn__9,
+         cleOut__0,
+         cleOut__1,
+         cleOut__2,
+         cleOut__3,
+         cleOut__4,
+         cleOut__5,
+         cleOut__6,
+         cleOut__7,
+         cleStruct__0,
+         cleStruct__1,
+         cleStruct__2,
+         cleStruct__3,
+         collocationPoints__0,
+         collocationPoints__1,
+         complement,
+         controldaeIn__0,
+         controldaeIn__1,
+         controldaeIn__10,
+         controldaeIn__11,
+         controldaeIn__12,
+         controldaeIn__13,
+         controldaeIn__14,
+         controldaeIn__15,
+         controldaeIn__16,
+         controldaeIn__17,
+         controldaeIn__18,
+         controldaeIn__19,
+         controldaeIn__2,
+         controldaeIn__20,
+         controldaeIn__21,
+         controldaeIn__22,
+         controldaeIn__23,
+         controldaeIn__24,
+         controldaeIn__25,
+         controldaeIn__26,
+         controldaeIn__27,
+         controldaeIn__28,
+         controldaeIn__29,
+         controldaeIn__3,
+         controldaeIn__30,
+         controldaeIn__31,
+         controldaeIn__32,
+         controldaeIn__33,
+         controldaeIn__34,
+         controldaeIn__35,
+         controldaeIn__36,
+         controldaeIn__37,
+         controldaeIn__38,
+         controldaeIn__39,
+         controldaeIn__4,
+         controldaeIn__5,
+         controldaeIn__6,
+         controldaeIn__7,
+         controldaeIn__8,
+         controldaeIn__9,
+         controlsimulatorIn__0,
+         controlsimulatorIn__1,
+         controlsimulatorIn__10,
+         controlsimulatorIn__11,
+         controlsimulatorIn__12,
+         controlsimulatorIn__13,
+         controlsimulatorIn__14,
+         controlsimulatorIn__15,
+         controlsimulatorIn__2,
+         controlsimulatorIn__3,
+         controlsimulatorIn__4,
+         controlsimulatorIn__5,
+         controlsimulatorIn__6,
+         controlsimulatorIn__7,
+         controlsimulatorIn__8,
+         controlsimulatorIn__9,
+         countNodes__0,
+         countNodes__1,
+         createParent__0,
+         createParent__1,
+         createParent__2,
+         daeIn__0,
+         daeIn__1,
+         daeIn__10,
+         daeIn__11,
+         daeIn__12,
+         daeIn__13,
+         daeIn__14,
+         daeIn__15,
+         daeIn__16,
+         daeIn__17,
+         daeIn__18,
+         daeIn__19,
+         daeIn__2,
+         daeIn__3,
+         daeIn__4,
+         daeIn__5,
+         daeIn__6,
+         daeIn__7,
+         daeIn__8,
+         daeIn__9,
+         daeOut__0,
+         daeOut__1,
+         daeOut__10,
+         daeOut__11,
+         daeOut__12,
+         daeOut__13,
+         daeOut__14,
+         daeOut__15,
+         daeOut__2,
+         daeOut__3,
+         daeOut__4,
+         daeOut__5,
+         daeOut__6,
+         daeOut__7,
+         daeOut__8,
+         daeOut__9,
+         dependsOn__0,
+         dependsOn__1,
+         dleIn__0,
+         dleIn__1,
+         dleIn__10,
+         dleIn__11,
+         dleIn__2,
+         dleIn__3,
+         dleIn__4,
+         dleIn__5,
+         dleIn__6,
+         dleIn__7,
+         dleIn__8,
+         dleIn__9,
+         dleOut__0,
+         dleOut__1,
+         dleOut__2,
+         dleOut__3,
+         dleOut__4,
+         dleOut__5,
+         dleOut__6,
+         dleOut__7,
+         dleStruct__0,
+         dleStruct__1,
+         dleStruct__2,
+         dpleIn__0,
+         dpleIn__1,
+         dpleIn__10,
+         dpleIn__11,
+         dpleIn__2,
+         dpleIn__3,
+         dpleIn__4,
+         dpleIn__5,
+         dpleIn__6,
+         dpleIn__7,
+         dpleIn__8,
+         dpleIn__9,
+         dpleOut__0,
+         dpleOut__1,
+         dpleOut__2,
+         dpleOut__3,
+         dpleOut__4,
+         dpleOut__5,
+         dpleOut__6,
+         dpleOut__7,
+         dpleStruct__0,
+         dpleStruct__1,
+         dpleStruct__2,
+         eig_symbolic,
+         evalf__0,
+         evalf__1,
+         expand,
+         explicitRK__0,
+         explicitRK__1,
+         explicitRK__2,
+         explicitRK__3,
+         extractShared__0,
+         extractShared__1,
+         extractShared__2,
+         extractShared__3,
+         extractShared__4,
+         extractShared__5,
+         gauss_quadrature__0,
+         gauss_quadrature__1,
+         gauss_quadrature__2,
+         getFree,
+         getOperatorRepresentation__0,
+         getOperatorRepresentation__1,
+         getSchemeEntryDoc,
+         getSchemeEntryEnum,
+         getSchemeEntryEnumName,
+         getSchemeEntryName,
+         getSchemeEntryNames,
+         getSchemeName,
+         getSchemeSize,
+         getSymbols__0,
+         getSymbols__1,
+         getSymbols__2,
+         gradFIn__0,
+         gradFIn__1,
+         gradFIn__10,
+         gradFIn__11,
+         gradFIn__2,
+         gradFIn__3,
+         gradFIn__4,
+         gradFIn__5,
+         gradFIn__6,
+         gradFIn__7,
+         gradFIn__8,
+         gradFIn__9,
+         gradFOut__0,
+         gradFOut__1,
+         gradFOut__10,
+         gradFOut__11,
+         gradFOut__12,
+         gradFOut__13,
+         gradFOut__14,
+         gradFOut__15,
+         gradFOut__2,
+         gradFOut__3,
+         gradFOut__4,
+         gradFOut__5,
+         gradFOut__6,
+         gradFOut__7,
+         gradFOut__8,
+         gradFOut__9,
+         gradient__0,
+         gradient__1,
+         graph_substitute__0,
+         graph_substitute__1,
+         heaviside,
+         hessLagIn__0,
+         hessLagIn__1,
+         hessLagIn__10,
+         hessLagIn__11,
+         hessLagIn__12,
+         hessLagIn__13,
+         hessLagIn__14,
+         hessLagIn__15,
+         hessLagIn__16,
+         hessLagIn__17,
+         hessLagIn__18,
+         hessLagIn__19,
+         hessLagIn__2,
+         hessLagIn__3,
+         hessLagIn__4,
+         hessLagIn__5,
+         hessLagIn__6,
+         hessLagIn__7,
+         hessLagIn__8,
+         hessLagIn__9,
+         hessLagOut__0,
+         hessLagOut__1,
+         hessLagOut__10,
+         hessLagOut__11,
+         hessLagOut__12,
+         hessLagOut__13,
+         hessLagOut__14,
+         hessLagOut__15,
+         hessLagOut__16,
+         hessLagOut__17,
+         hessLagOut__18,
+         hessLagOut__19,
+         hessLagOut__2,
+         hessLagOut__20,
+         hessLagOut__21,
+         hessLagOut__22,
+         hessLagOut__23,
+         hessLagOut__3,
+         hessLagOut__4,
+         hessLagOut__5,
+         hessLagOut__6,
+         hessLagOut__7,
+         hessLagOut__8,
+         hessLagOut__9,
+         hessian__0,
+         hessian__1,
+         hnlpIn__0,
+         hnlpIn__1,
+         hnlpIn__10,
+         hnlpIn__11,
+         hnlpIn__12,
+         hnlpIn__13,
+         hnlpIn__14,
+         hnlpIn__15,
+         hnlpIn__2,
+         hnlpIn__3,
+         hnlpIn__4,
+         hnlpIn__5,
+         hnlpIn__6,
+         hnlpIn__7,
+         hnlpIn__8,
+         hnlpIn__9,
+         if_else__0,
+         if_else__1,
+         implicitRK,
+         integratorIn__0,
+         integratorIn__1,
+         integratorIn__10,
+         integratorIn__11,
+         integratorIn__12,
+         integratorIn__13,
+         integratorIn__14,
+         integratorIn__15,
+         integratorIn__16,
+         integratorIn__17,
+         integratorIn__18,
+         integratorIn__19,
+         integratorIn__2,
+         integratorIn__20,
+         integratorIn__21,
+         integratorIn__22,
+         integratorIn__23,
+         integratorIn__24,
+         integratorIn__25,
+         integratorIn__26,
+         integratorIn__27,
+         integratorIn__3,
+         integratorIn__4,
+         integratorIn__5,
+         integratorIn__6,
+         integratorIn__7,
+         integratorIn__8,
+         integratorIn__9,
+         integratorOut__0,
+         integratorOut__1,
+         integratorOut__10,
+         integratorOut__11,
+         integratorOut__12,
+         integratorOut__13,
+         integratorOut__14,
+         integratorOut__15,
+         integratorOut__16,
+         integratorOut__17,
+         integratorOut__18,
+         integratorOut__19,
+         integratorOut__2,
+         integratorOut__20,
+         integratorOut__21,
+         integratorOut__22,
+         integratorOut__23,
+         integratorOut__24,
+         integratorOut__25,
+         integratorOut__26,
+         integratorOut__27,
+         integratorOut__3,
+         integratorOut__4,
+         integratorOut__5,
+         integratorOut__6,
+         integratorOut__7,
+         integratorOut__8,
+         integratorOut__9,
+         isDecreasing__0,
+         isDecreasing__1,
+         isIncreasing__0,
+         isIncreasing__1,
+         isMonotone__0,
+         isMonotone__1,
+         isNonDecreasing__0,
+         isNonDecreasing__1,
+         isNonIncreasing__0,
+         isNonIncreasing__1,
+         isRegular__0,
+         isRegular__1,
+         isStrictlyMonotone__0,
+         isStrictlyMonotone__1,
+         jacGIn__0,
+         jacGIn__1,
+         jacGIn__10,
+         jacGIn__11,
+         jacGIn__2,
+         jacGIn__3,
+         jacGIn__4,
+         jacGIn__5,
+         jacGIn__6,
+         jacGIn__7,
+         jacGIn__8,
+         jacGIn__9,
+         jacGOut__0,
+         jacGOut__1,
+         jacGOut__10,
+         jacGOut__11,
+         jacGOut__12,
+         jacGOut__13,
+         jacGOut__14,
+         jacGOut__15,
+         jacGOut__2,
+         jacGOut__3,
+         jacGOut__4,
+         jacGOut__5,
+         jacGOut__6,
+         jacGOut__7,
+         jacGOut__8,
+         jacGOut__9,
+         jacobianTimesVector__0,
+         jacobianTimesVector__1,
+         jacobian__0,
+         jacobian__1,
+         linsolIn__0,
+         linsolIn__1,
+         linsolIn__10,
+         linsolIn__11,
+         linsolIn__2,
+         linsolIn__3,
+         linsolIn__4,
+         linsolIn__5,
+         linsolIn__6,
+         linsolIn__7,
+         linsolIn__8,
+         linsolIn__9,
+         linsolOut__0,
+         linsolOut__1,
+         linsolOut__2,
+         linsolOut__3,
+         linsolOut__4,
+         linsolOut__5,
+         linsolOut__6,
+         linsolOut__7,
+         logic_and__0,
+         logic_and__1,
+         logic_and__2,
+         logic_and__3,
+         logic_and__4,
+         logic_and__5,
+         logic_not__0,
+         logic_not__1,
+         logic_not__2,
+         logic_not__3,
+         logic_not__4,
+         logic_not__5,
+         logic_or__0,
+         logic_or__1,
+         logic_or__2,
+         logic_or__3,
+         logic_or__4,
+         logic_or__5,
+         lookupvector,
+         lpIn__0,
+         lpIn__1,
+         lpIn__10,
+         lpIn__11,
+         lpIn__12,
+         lpIn__13,
+         lpIn__14,
+         lpIn__15,
+         lpIn__16,
+         lpIn__17,
+         lpIn__18,
+         lpIn__19,
+         lpIn__2,
+         lpIn__20,
+         lpIn__21,
+         lpIn__22,
+         lpIn__23,
+         lpIn__24,
+         lpIn__25,
+         lpIn__26,
+         lpIn__27,
+         lpIn__3,
+         lpIn__4,
+         lpIn__5,
+         lpIn__6,
+         lpIn__7,
+         lpIn__8,
+         lpIn__9,
+         lpOut__0,
+         lpOut__1,
+         lpOut__10,
+         lpOut__11,
+         lpOut__12,
+         lpOut__13,
+         lpOut__14,
+         lpOut__15,
+         lpOut__16,
+         lpOut__17,
+         lpOut__18,
+         lpOut__19,
+         lpOut__2,
+         lpOut__3,
+         lpOut__4,
+         lpOut__5,
+         lpOut__6,
+         lpOut__7,
+         lpOut__8,
+         lpOut__9,
+         lpStruct__0,
+         lpStruct__1,
+         lrdleIn__0,
+         lrdleIn__1,
+         lrdleIn__10,
+         lrdleIn__11,
+         lrdleIn__12,
+         lrdleIn__13,
+         lrdleIn__14,
+         lrdleIn__15,
+         lrdleIn__16,
+         lrdleIn__17,
+         lrdleIn__18,
+         lrdleIn__19,
+         lrdleIn__2,
+         lrdleIn__3,
+         lrdleIn__4,
+         lrdleIn__5,
+         lrdleIn__6,
+         lrdleIn__7,
+         lrdleIn__8,
+         lrdleIn__9,
+         lrdleOut__0,
+         lrdleOut__1,
+         lrdleOut__2,
+         lrdleOut__3,
+         lrdleOut__4,
+         lrdleOut__5,
+         lrdleOut__6,
+         lrdleOut__7,
+         lrdleStruct__0,
+         lrdleStruct__1,
+         lrdleStruct__2,
+         lrdleStruct__3,
+         lrdleStruct__4,
+         lrdpleIn__0,
+         lrdpleIn__1,
+         lrdpleIn__10,
+         lrdpleIn__11,
+         lrdpleIn__12,
+         lrdpleIn__13,
+         lrdpleIn__14,
+         lrdpleIn__15,
+         lrdpleIn__16,
+         lrdpleIn__17,
+         lrdpleIn__18,
+         lrdpleIn__19,
+         lrdpleIn__2,
+         lrdpleIn__3,
+         lrdpleIn__4,
+         lrdpleIn__5,
+         lrdpleIn__6,
+         lrdpleIn__7,
+         lrdpleIn__8,
+         lrdpleIn__9,
+         lrdpleOut__0,
+         lrdpleOut__1,
+         lrdpleOut__2,
+         lrdpleOut__3,
+         lrdpleOut__4,
+         lrdpleOut__5,
+         lrdpleOut__6,
+         lrdpleOut__7,
+         lrdpleStruct__0,
+         lrdpleStruct__1,
+         lrdpleStruct__2,
+         lrdpleStruct__3,
+         lrdpleStruct__4,
+         matrix_expand__0,
+         matrix_expand__1,
+         matrix_expand__2,
+         matrix_expand__3,
+         mtaylor__0,
+         mtaylor__1,
+         mtaylor__2,
+         nlpIn__0,
+         nlpIn__1,
+         nlpIn__10,
+         nlpIn__11,
+         nlpIn__2,
+         nlpIn__3,
+         nlpIn__4,
+         nlpIn__5,
+         nlpIn__6,
+         nlpIn__7,
+         nlpIn__8,
+         nlpIn__9,
+         nlpOut__0,
+         nlpOut__1,
+         nlpOut__10,
+         nlpOut__11,
+         nlpOut__2,
+         nlpOut__3,
+         nlpOut__4,
+         nlpOut__5,
+         nlpOut__6,
+         nlpOut__7,
+         nlpOut__8,
+         nlpOut__9,
+         nlpSolverIn__0,
+         nlpSolverIn__1,
+         nlpSolverIn__10,
+         nlpSolverIn__11,
+         nlpSolverIn__12,
+         nlpSolverIn__13,
+         nlpSolverIn__14,
+         nlpSolverIn__15,
+         nlpSolverIn__16,
+         nlpSolverIn__17,
+         nlpSolverIn__18,
+         nlpSolverIn__19,
+         nlpSolverIn__2,
+         nlpSolverIn__20,
+         nlpSolverIn__21,
+         nlpSolverIn__22,
+         nlpSolverIn__23,
+         nlpSolverIn__24,
+         nlpSolverIn__25,
+         nlpSolverIn__26,
+         nlpSolverIn__27,
+         nlpSolverIn__28,
+         nlpSolverIn__29,
+         nlpSolverIn__3,
+         nlpSolverIn__30,
+         nlpSolverIn__31,
+         nlpSolverIn__32,
+         nlpSolverIn__33,
+         nlpSolverIn__34,
+         nlpSolverIn__35,
+         nlpSolverIn__4,
+         nlpSolverIn__5,
+         nlpSolverIn__6,
+         nlpSolverIn__7,
+         nlpSolverIn__8,
+         nlpSolverIn__9,
+         nlpSolverOut__0,
+         nlpSolverOut__1,
+         nlpSolverOut__10,
+         nlpSolverOut__11,
+         nlpSolverOut__12,
+         nlpSolverOut__13,
+         nlpSolverOut__14,
+         nlpSolverOut__15,
+         nlpSolverOut__16,
+         nlpSolverOut__17,
+         nlpSolverOut__18,
+         nlpSolverOut__19,
+         nlpSolverOut__2,
+         nlpSolverOut__20,
+         nlpSolverOut__21,
+         nlpSolverOut__22,
+         nlpSolverOut__23,
+         nlpSolverOut__24,
+         nlpSolverOut__25,
+         nlpSolverOut__26,
+         nlpSolverOut__27,
+         nlpSolverOut__3,
+         nlpSolverOut__4,
+         nlpSolverOut__5,
+         nlpSolverOut__6,
+         nlpSolverOut__7,
+         nlpSolverOut__8,
+         nlpSolverOut__9,
+         pinv__0,
+         pinv__1,
+         pinv__2,
+         pinv__3,
+         pinv__4,
+         poly_coeff,
+         poly_roots,
+         printCompact__0,
+         printCompact__1,
+         pw_const,
+         pw_lin,
+         qcqpIn__0,
+         qcqpIn__1,
+         qcqpIn__10,
+         qcqpIn__11,
+         qcqpIn__12,
+         qcqpIn__13,
+         qcqpIn__14,
+         qcqpIn__15,
+         qcqpIn__16,
+         qcqpIn__17,
+         qcqpIn__18,
+         qcqpIn__19,
+         qcqpIn__2,
+         qcqpIn__20,
+         qcqpIn__21,
+         qcqpIn__22,
+         qcqpIn__23,
+         qcqpIn__24,
+         qcqpIn__25,
+         qcqpIn__26,
+         qcqpIn__27,
+         qcqpIn__28,
+         qcqpIn__29,
+         qcqpIn__3,
+         qcqpIn__30,
+         qcqpIn__31,
+         qcqpIn__32,
+         qcqpIn__33,
+         qcqpIn__34,
+         qcqpIn__35,
+         qcqpIn__36,
+         qcqpIn__37,
+         qcqpIn__38,
+         qcqpIn__39,
+         qcqpIn__4,
+         qcqpIn__40,
+         qcqpIn__41,
+         qcqpIn__42,
+         qcqpIn__43,
+         qcqpIn__44,
+         qcqpIn__45,
+         qcqpIn__46,
+         qcqpIn__47,
+         qcqpIn__48,
+         qcqpIn__49,
+         qcqpIn__5,
+         qcqpIn__50,
+         qcqpIn__51,
+         qcqpIn__6,
+         qcqpIn__7,
+         qcqpIn__8,
+         qcqpIn__9,
+         qcqpOut__0,
+         qcqpOut__1,
+         qcqpOut__10,
+         qcqpOut__11,
+         qcqpOut__12,
+         qcqpOut__13,
+         qcqpOut__14,
+         qcqpOut__15,
+         qcqpOut__16,
+         qcqpOut__17,
+         qcqpOut__18,
+         qcqpOut__19,
+         qcqpOut__2,
+         qcqpOut__3,
+         qcqpOut__4,
+         qcqpOut__5,
+         qcqpOut__6,
+         qcqpOut__7,
+         qcqpOut__8,
+         qcqpOut__9,
+         qcqpStruct__0,
+         qcqpStruct__1,
+         qcqpStruct__2,
+         qcqpStruct__3,
+         qpIn__0,
+         qpIn__1,
+         qpIn__10,
+         qpIn__11,
+         qpIn__12,
+         qpIn__13,
+         qpIn__14,
+         qpIn__15,
+         qpIn__16,
+         qpIn__17,
+         qpIn__18,
+         qpIn__19,
+         qpIn__2,
+         qpIn__20,
+         qpIn__21,
+         qpIn__22,
+         qpIn__23,
+         qpIn__24,
+         qpIn__25,
+         qpIn__26,
+         qpIn__27,
+         qpIn__28,
+         qpIn__29,
+         qpIn__3,
+         qpIn__30,
+         qpIn__31,
+         qpIn__32,
+         qpIn__33,
+         qpIn__34,
+         qpIn__35,
+         qpIn__36,
+         qpIn__37,
+         qpIn__38,
+         qpIn__39,
+         qpIn__4,
+         qpIn__5,
+         qpIn__6,
+         qpIn__7,
+         qpIn__8,
+         qpIn__9,
+         qpOut__0,
+         qpOut__1,
+         qpOut__10,
+         qpOut__11,
+         qpOut__12,
+         qpOut__13,
+         qpOut__14,
+         qpOut__15,
+         qpOut__16,
+         qpOut__17,
+         qpOut__18,
+         qpOut__19,
+         qpOut__2,
+         qpOut__3,
+         qpOut__4,
+         qpOut__5,
+         qpOut__6,
+         qpOut__7,
+         qpOut__8,
+         qpOut__9,
+         qpStruct__0,
+         qpStruct__1,
+         qpStruct__2,
+         ramp,
+         rdaeIn__0,
+         rdaeIn__1,
+         rdaeIn__10,
+         rdaeIn__11,
+         rdaeIn__12,
+         rdaeIn__13,
+         rdaeIn__14,
+         rdaeIn__15,
+         rdaeIn__16,
+         rdaeIn__17,
+         rdaeIn__18,
+         rdaeIn__19,
+         rdaeIn__2,
+         rdaeIn__20,
+         rdaeIn__21,
+         rdaeIn__22,
+         rdaeIn__23,
+         rdaeIn__24,
+         rdaeIn__25,
+         rdaeIn__26,
+         rdaeIn__27,
+         rdaeIn__28,
+         rdaeIn__29,
+         rdaeIn__3,
+         rdaeIn__30,
+         rdaeIn__31,
+         rdaeIn__4,
+         rdaeIn__5,
+         rdaeIn__6,
+         rdaeIn__7,
+         rdaeIn__8,
+         rdaeIn__9,
+         rdaeOut__0,
+         rdaeOut__1,
+         rdaeOut__10,
+         rdaeOut__11,
+         rdaeOut__12,
+         rdaeOut__13,
+         rdaeOut__14,
+         rdaeOut__15,
+         rdaeOut__2,
+         rdaeOut__3,
+         rdaeOut__4,
+         rdaeOut__5,
+         rdaeOut__6,
+         rdaeOut__7,
+         rdaeOut__8,
+         rdaeOut__9,
+         rectangle,
+         sdpIn__0,
+         sdpIn__1,
+         sdpIn__10,
+         sdpIn__11,
+         sdpIn__12,
+         sdpIn__13,
+         sdpIn__14,
+         sdpIn__15,
+         sdpIn__16,
+         sdpIn__17,
+         sdpIn__18,
+         sdpIn__19,
+         sdpIn__2,
+         sdpIn__20,
+         sdpIn__21,
+         sdpIn__22,
+         sdpIn__23,
+         sdpIn__24,
+         sdpIn__25,
+         sdpIn__26,
+         sdpIn__27,
+         sdpIn__28,
+         sdpIn__29,
+         sdpIn__3,
+         sdpIn__30,
+         sdpIn__31,
+         sdpIn__32,
+         sdpIn__33,
+         sdpIn__34,
+         sdpIn__35,
+         sdpIn__4,
+         sdpIn__5,
+         sdpIn__6,
+         sdpIn__7,
+         sdpIn__8,
+         sdpIn__9,
+         sdpOut__0,
+         sdpOut__1,
+         sdpOut__10,
+         sdpOut__11,
+         sdpOut__12,
+         sdpOut__13,
+         sdpOut__14,
+         sdpOut__15,
+         sdpOut__16,
+         sdpOut__17,
+         sdpOut__18,
+         sdpOut__19,
+         sdpOut__2,
+         sdpOut__20,
+         sdpOut__21,
+         sdpOut__22,
+         sdpOut__23,
+         sdpOut__24,
+         sdpOut__25,
+         sdpOut__26,
+         sdpOut__27,
+         sdpOut__28,
+         sdpOut__29,
+         sdpOut__3,
+         sdpOut__30,
+         sdpOut__31,
+         sdpOut__4,
+         sdpOut__5,
+         sdpOut__6,
+         sdpOut__7,
+         sdpOut__8,
+         sdpOut__9,
+         sdpStruct__0,
+         sdpStruct__1,
+         sdpStruct__2,
+         sdpStruct__3,
+         sdqpIn__0,
+         sdqpIn__1,
+         sdqpIn__10,
+         sdqpIn__11,
+         sdqpIn__12,
+         sdqpIn__13,
+         sdqpIn__14,
+         sdqpIn__15,
+         sdqpIn__16,
+         sdqpIn__17,
+         sdqpIn__18,
+         sdqpIn__19,
+         sdqpIn__2,
+         sdqpIn__20,
+         sdqpIn__21,
+         sdqpIn__22,
+         sdqpIn__23,
+         sdqpIn__24,
+         sdqpIn__25,
+         sdqpIn__26,
+         sdqpIn__27,
+         sdqpIn__28,
+         sdqpIn__29,
+         sdqpIn__3,
+         sdqpIn__30,
+         sdqpIn__31,
+         sdqpIn__32,
+         sdqpIn__33,
+         sdqpIn__34,
+         sdqpIn__35,
+         sdqpIn__36,
+         sdqpIn__37,
+         sdqpIn__38,
+         sdqpIn__39,
+         sdqpIn__4,
+         sdqpIn__5,
+         sdqpIn__6,
+         sdqpIn__7,
+         sdqpIn__8,
+         sdqpIn__9,
+         sdqpOut__0,
+         sdqpOut__1,
+         sdqpOut__10,
+         sdqpOut__11,
+         sdqpOut__12,
+         sdqpOut__13,
+         sdqpOut__14,
+         sdqpOut__15,
+         sdqpOut__16,
+         sdqpOut__17,
+         sdqpOut__18,
+         sdqpOut__19,
+         sdqpOut__2,
+         sdqpOut__20,
+         sdqpOut__21,
+         sdqpOut__22,
+         sdqpOut__23,
+         sdqpOut__24,
+         sdqpOut__25,
+         sdqpOut__26,
+         sdqpOut__27,
+         sdqpOut__28,
+         sdqpOut__29,
+         sdqpOut__3,
+         sdqpOut__30,
+         sdqpOut__31,
+         sdqpOut__4,
+         sdqpOut__5,
+         sdqpOut__6,
+         sdqpOut__7,
+         sdqpOut__8,
+         sdqpOut__9,
+         sdqpStruct__0,
+         sdqpStruct__1,
+         sdqpStruct__2,
+         sdqpStruct__3,
+         sdqpStruct__4,
+         simplify__0,
+         simplify__1,
+         socpIn__0,
+         socpIn__1,
+         socpIn__10,
+         socpIn__11,
+         socpIn__12,
+         socpIn__13,
+         socpIn__14,
+         socpIn__15,
+         socpIn__16,
+         socpIn__17,
+         socpIn__18,
+         socpIn__19,
+         socpIn__2,
+         socpIn__20,
+         socpIn__21,
+         socpIn__22,
+         socpIn__23,
+         socpIn__24,
+         socpIn__25,
+         socpIn__26,
+         socpIn__27,
+         socpIn__28,
+         socpIn__29,
+         socpIn__3,
+         socpIn__30,
+         socpIn__31,
+         socpIn__32,
+         socpIn__33,
+         socpIn__34,
+         socpIn__35,
+         socpIn__36,
+         socpIn__37,
+         socpIn__38,
+         socpIn__39,
+         socpIn__4,
+         socpIn__40,
+         socpIn__41,
+         socpIn__42,
+         socpIn__43,
+         socpIn__5,
+         socpIn__6,
+         socpIn__7,
+         socpIn__8,
+         socpIn__9,
+         socpOut__0,
+         socpOut__1,
+         socpOut__10,
+         socpOut__11,
+         socpOut__12,
+         socpOut__13,
+         socpOut__14,
+         socpOut__15,
+         socpOut__16,
+         socpOut__17,
+         socpOut__18,
+         socpOut__19,
+         socpOut__2,
+         socpOut__3,
+         socpOut__4,
+         socpOut__5,
+         socpOut__6,
+         socpOut__7,
+         socpOut__8,
+         socpOut__9,
+         socpStruct__0,
+         socpStruct__1,
+         socpStruct__2,
+         solve__0,
+         solve__1,
+         solve__2,
+         solve__3,
+         solve__4,
+         solve__5,
+         spy,
+         stabilizedQpIn__0,
+         stabilizedQpIn__1,
+         stabilizedQpIn__10,
+         stabilizedQpIn__11,
+         stabilizedQpIn__12,
+         stabilizedQpIn__13,
+         stabilizedQpIn__14,
+         stabilizedQpIn__15,
+         stabilizedQpIn__16,
+         stabilizedQpIn__17,
+         stabilizedQpIn__18,
+         stabilizedQpIn__19,
+         stabilizedQpIn__2,
+         stabilizedQpIn__20,
+         stabilizedQpIn__21,
+         stabilizedQpIn__22,
+         stabilizedQpIn__23,
+         stabilizedQpIn__24,
+         stabilizedQpIn__25,
+         stabilizedQpIn__26,
+         stabilizedQpIn__27,
+         stabilizedQpIn__28,
+         stabilizedQpIn__29,
+         stabilizedQpIn__3,
+         stabilizedQpIn__30,
+         stabilizedQpIn__31,
+         stabilizedQpIn__32,
+         stabilizedQpIn__33,
+         stabilizedQpIn__34,
+         stabilizedQpIn__35,
+         stabilizedQpIn__36,
+         stabilizedQpIn__37,
+         stabilizedQpIn__38,
+         stabilizedQpIn__39,
+         stabilizedQpIn__4,
+         stabilizedQpIn__40,
+         stabilizedQpIn__41,
+         stabilizedQpIn__42,
+         stabilizedQpIn__43,
+         stabilizedQpIn__44,
+         stabilizedQpIn__45,
+         stabilizedQpIn__46,
+         stabilizedQpIn__47,
+         stabilizedQpIn__48,
+         stabilizedQpIn__49,
+         stabilizedQpIn__5,
+         stabilizedQpIn__50,
+         stabilizedQpIn__51,
+         stabilizedQpIn__6,
+         stabilizedQpIn__7,
+         stabilizedQpIn__8,
+         stabilizedQpIn__9,
+         substituteInPlace__0,
+         substituteInPlace__1,
+         substituteInPlace__2,
+         substituteInPlace__3,
+         substituteInPlace__4,
+         substituteInPlace__5,
+         substituteInPlace__6,
+         substituteInPlace__7,
+         substituteInPlace__8,
+         substituteInPlace__9,
+         substitute__0,
+         substitute__1,
+         substitute__2,
+         substitute__3,
+         tangent__0,
+         tangent__1,
+         taylor__0,
+         taylor__1,
+         taylor__2,
+         triangle,
+       ) where
+
+
+import Data.Vector ( Vector )
+import Foreign.C.Types
+import Foreign.Marshal ( new, free )
+import Foreign.Storable ( peek )
+import Foreign.Ptr ( Ptr, nullPtr )
+
+import Casadi.Core.Data
+import Casadi.Core.Enums
+import Casadi.Internal.CToolsInstances ( )
+import Casadi.Internal.FormatException ( formatException )
+import Casadi.Internal.MarshalTypes ( StdVec, StdString )
+import Casadi.Internal.Marshal ( withMarshal )
+import Casadi.Internal.WrapReturn ( WrapReturn(..) )
+foreign import ccall unsafe "cleIn__0" c_cleIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+cleIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__1" c_cleIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+cleIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__2" c_cleIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+cleIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__3" c_cleIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+cleIn__3
+  :: Vector DMatrix -> IO (Vector DMatrix)
+cleIn__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__4" c_cleIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+cleIn__4
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+cleIn__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__5" c_cleIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+cleIn__5
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+cleIn__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__6" c_cleIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+cleIn__6
+  :: Vector MX -> IO (Vector MX)
+cleIn__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__7" c_cleIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+cleIn__7
+  :: Vector MX -> String -> IO (Vector MX)
+cleIn__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__8" c_cleIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+cleIn__8
+  :: Vector MX -> String -> String -> IO (Vector MX)
+cleIn__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__9" c_cleIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+cleIn__9
+  :: Vector SX -> IO (Vector SX)
+cleIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__10" c_cleIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+cleIn__10
+  :: Vector SX -> String -> IO (Vector SX)
+cleIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleIn__11" c_cleIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+cleIn__11
+  :: Vector SX -> String -> String -> IO (Vector SX)
+cleIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleOut__0" c_cleOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+cleOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleOut__1" c_cleOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+cleOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleOut__2" c_cleOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+cleOut__2
+  :: Vector DMatrix -> IO (Vector DMatrix)
+cleOut__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleOut__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleOut__3" c_cleOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+cleOut__3
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+cleOut__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleOut__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleOut__4" c_cleOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+cleOut__4
+  :: Vector MX -> IO (Vector MX)
+cleOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleOut__5" c_cleOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+cleOut__5
+  :: Vector MX -> String -> IO (Vector MX)
+cleOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleOut__6" c_cleOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+cleOut__6
+  :: Vector SX -> IO (Vector SX)
+cleOut__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleOut__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleOut__7" c_cleOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+cleOut__7
+  :: Vector SX -> String -> IO (Vector SX)
+cleOut__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleOut__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleStruct__0" c_cleStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+cleStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleStruct__1" c_cleStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+cleStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleStruct__2" c_cleStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleStruct__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+cleStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "cleStruct__3" c_cleStruct__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+cleStruct__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+cleStruct__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_cleStruct__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "collocationPoints__0" c_collocationPoints__0
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr (StdVec CDouble))
+collocationPoints__0
+  :: Int -> IO (Vector Double)
+collocationPoints__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_collocationPoints__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "collocationPoints__1" c_collocationPoints__1
+  :: Ptr (Ptr StdString) -> CInt -> Ptr StdString -> IO (Ptr (StdVec CDouble))
+collocationPoints__1
+  :: Int -> String -> IO (Vector Double)
+collocationPoints__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_collocationPoints__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "complement" c_complement
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
+complement
+  :: Vector Int -> Int -> IO (Vector Int)
+complement x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_complement errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__0" c_controldaeIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+controldaeIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__1" c_controldaeIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+controldaeIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__2" c_controldaeIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+controldaeIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__3" c_controldaeIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+controldaeIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__4" c_controldaeIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+controldaeIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__5" c_controldaeIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+controldaeIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__6" c_controldaeIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+controldaeIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__7" c_controldaeIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+controldaeIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__8" c_controldaeIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__8
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+controldaeIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__9" c_controldaeIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controldaeIn__9
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+controldaeIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__10" c_controldaeIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__10
+  :: Vector DMatrix -> IO (Vector DMatrix)
+controldaeIn__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__11" c_controldaeIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__11
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+controldaeIn__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__12" c_controldaeIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__12
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+controldaeIn__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__13" c_controldaeIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__13
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+controldaeIn__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__14" c_controldaeIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__14
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+controldaeIn__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__15" c_controldaeIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__15
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+controldaeIn__15 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__15 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__16" c_controldaeIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__16
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+controldaeIn__16 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__17" c_controldaeIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__17
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+controldaeIn__17 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__18" c_controldaeIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__18
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+controldaeIn__18 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__18 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__19" c_controldaeIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controldaeIn__19
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+controldaeIn__19 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__20" c_controldaeIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__20
+  :: Vector MX -> IO (Vector MX)
+controldaeIn__20 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__20 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__21" c_controldaeIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__21
+  :: Vector MX -> String -> IO (Vector MX)
+controldaeIn__21 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__21 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__22" c_controldaeIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__22
+  :: Vector MX -> String -> String -> IO (Vector MX)
+controldaeIn__22 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__22 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__23" c_controldaeIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__23
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+controldaeIn__23 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__23 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__24" c_controldaeIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__24
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+controldaeIn__24 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__24 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__25" c_controldaeIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__25
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+controldaeIn__25 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__25 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__26" c_controldaeIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__26
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+controldaeIn__26 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__27" c_controldaeIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__27
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+controldaeIn__27 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__28" c_controldaeIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__28
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+controldaeIn__28 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__28 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__29" c_controldaeIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controldaeIn__29
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+controldaeIn__29 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__29 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__30" c_controldaeIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__30
+  :: Vector SX -> IO (Vector SX)
+controldaeIn__30 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__30 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__31" c_controldaeIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__31
+  :: Vector SX -> String -> IO (Vector SX)
+controldaeIn__31 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__31 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__32" c_controldaeIn__32
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__32
+  :: Vector SX -> String -> String -> IO (Vector SX)
+controldaeIn__32 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__32 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__33" c_controldaeIn__33
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__33
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+controldaeIn__33 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__33 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__34" c_controldaeIn__34
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__34
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+controldaeIn__34 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__34 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__35" c_controldaeIn__35
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__35
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+controldaeIn__35 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__35 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__36" c_controldaeIn__36
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__36
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+controldaeIn__36 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__37" c_controldaeIn__37
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__37
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+controldaeIn__37 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__38" c_controldaeIn__38
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__38
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+controldaeIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controldaeIn__39" c_controldaeIn__39
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controldaeIn__39
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+controldaeIn__39 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controldaeIn__39 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__0" c_controlsimulatorIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+controlsimulatorIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+controlsimulatorIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__1" c_controlsimulatorIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controlsimulatorIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+controlsimulatorIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__2" c_controlsimulatorIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controlsimulatorIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+controlsimulatorIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__3" c_controlsimulatorIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+controlsimulatorIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+controlsimulatorIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__4" c_controlsimulatorIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+controlsimulatorIn__4
+  :: Vector DMatrix -> IO (Vector DMatrix)
+controlsimulatorIn__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__5" c_controlsimulatorIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controlsimulatorIn__5
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+controlsimulatorIn__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__6" c_controlsimulatorIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controlsimulatorIn__6
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+controlsimulatorIn__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__7" c_controlsimulatorIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+controlsimulatorIn__7
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+controlsimulatorIn__7 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__7 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__8" c_controlsimulatorIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+controlsimulatorIn__8
+  :: Vector MX -> IO (Vector MX)
+controlsimulatorIn__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__9" c_controlsimulatorIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controlsimulatorIn__9
+  :: Vector MX -> String -> IO (Vector MX)
+controlsimulatorIn__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__10" c_controlsimulatorIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controlsimulatorIn__10
+  :: Vector MX -> String -> String -> IO (Vector MX)
+controlsimulatorIn__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__11" c_controlsimulatorIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+controlsimulatorIn__11
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+controlsimulatorIn__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__12" c_controlsimulatorIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+controlsimulatorIn__12
+  :: Vector SX -> IO (Vector SX)
+controlsimulatorIn__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__13" c_controlsimulatorIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controlsimulatorIn__13
+  :: Vector SX -> String -> IO (Vector SX)
+controlsimulatorIn__13 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__13 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__14" c_controlsimulatorIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controlsimulatorIn__14
+  :: Vector SX -> String -> String -> IO (Vector SX)
+controlsimulatorIn__14 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__14 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "controlsimulatorIn__15" c_controlsimulatorIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+controlsimulatorIn__15
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+controlsimulatorIn__15 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_controlsimulatorIn__15 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "countNodes__0" c_countNodes__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO CInt
+countNodes__0
+  :: MX -> IO Int
+countNodes__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_countNodes__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "countNodes__1" c_countNodes__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO CInt
+countNodes__1
+  :: SX -> IO Int
+countNodes__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_countNodes__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "createParent__0" c_createParent__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+createParent__0
+  :: Vector Sparsity -> Vector MX -> IO MX
+createParent__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_createParent__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "createParent__1" c_createParent__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+createParent__1
+  :: Vector MX -> Vector MX -> IO MX
+createParent__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_createParent__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "createParent__2" c_createParent__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+createParent__2
+  :: Vector MX -> IO MX
+createParent__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_createParent__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__0" c_daeIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+daeIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__1" c_daeIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+daeIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__2" c_daeIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+daeIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__3" c_daeIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+daeIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__4" c_daeIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+daeIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__5" c_daeIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeIn__5
+  :: Vector DMatrix -> IO (Vector DMatrix)
+daeIn__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__6" c_daeIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeIn__6
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+daeIn__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__7" c_daeIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeIn__7
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+daeIn__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__8" c_daeIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeIn__8
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+daeIn__8 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__8 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__9" c_daeIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeIn__9
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+daeIn__9 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__9 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__10" c_daeIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+daeIn__10
+  :: Vector MX -> IO (Vector MX)
+daeIn__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__11" c_daeIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+daeIn__11
+  :: Vector MX -> String -> IO (Vector MX)
+daeIn__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__12" c_daeIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+daeIn__12
+  :: Vector MX -> String -> String -> IO (Vector MX)
+daeIn__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__13" c_daeIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+daeIn__13
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+daeIn__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__14" c_daeIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+daeIn__14
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+daeIn__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__15" c_daeIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+daeIn__15
+  :: Vector SX -> IO (Vector SX)
+daeIn__15 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__15 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__16" c_daeIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+daeIn__16
+  :: Vector SX -> String -> IO (Vector SX)
+daeIn__16 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__16 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__17" c_daeIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+daeIn__17
+  :: Vector SX -> String -> String -> IO (Vector SX)
+daeIn__17 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__17 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__18" c_daeIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+daeIn__18
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+daeIn__18 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__18 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeIn__19" c_daeIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+daeIn__19
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+daeIn__19 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeIn__19 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__0" c_daeOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+daeOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__1" c_daeOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+daeOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__2" c_daeOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+daeOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__3" c_daeOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+daeOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+daeOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__4" c_daeOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeOut__4
+  :: Vector DMatrix -> IO (Vector DMatrix)
+daeOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__5" c_daeOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeOut__5
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+daeOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__6" c_daeOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeOut__6
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+daeOut__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__7" c_daeOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+daeOut__7
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+daeOut__7 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__7 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__8" c_daeOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+daeOut__8
+  :: Vector MX -> IO (Vector MX)
+daeOut__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__9" c_daeOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+daeOut__9
+  :: Vector MX -> String -> IO (Vector MX)
+daeOut__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__10" c_daeOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+daeOut__10
+  :: Vector MX -> String -> String -> IO (Vector MX)
+daeOut__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__11" c_daeOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+daeOut__11
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+daeOut__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__12" c_daeOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+daeOut__12
+  :: Vector SX -> IO (Vector SX)
+daeOut__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__13" c_daeOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+daeOut__13
+  :: Vector SX -> String -> IO (Vector SX)
+daeOut__13 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__13 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__14" c_daeOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+daeOut__14
+  :: Vector SX -> String -> String -> IO (Vector SX)
+daeOut__14 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__14 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "daeOut__15" c_daeOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+daeOut__15
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+daeOut__15 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_daeOut__15 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dependsOn__0" c_dependsOn__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO CInt
+dependsOn__0
+  :: MX -> Vector MX -> IO Bool
+dependsOn__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dependsOn__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dependsOn__1" c_dependsOn__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO CInt
+dependsOn__1
+  :: SX -> SX -> IO Bool
+dependsOn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dependsOn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__0" c_dleIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+dleIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+dleIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__1" c_dleIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+dleIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+dleIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__2" c_dleIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+dleIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+dleIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__3" c_dleIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+dleIn__3
+  :: Vector DMatrix -> IO (Vector DMatrix)
+dleIn__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__4" c_dleIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+dleIn__4
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+dleIn__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__5" c_dleIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+dleIn__5
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+dleIn__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__6" c_dleIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+dleIn__6
+  :: Vector MX -> IO (Vector MX)
+dleIn__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__7" c_dleIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+dleIn__7
+  :: Vector MX -> String -> IO (Vector MX)
+dleIn__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__8" c_dleIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+dleIn__8
+  :: Vector MX -> String -> String -> IO (Vector MX)
+dleIn__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__9" c_dleIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+dleIn__9
+  :: Vector SX -> IO (Vector SX)
+dleIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__10" c_dleIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+dleIn__10
+  :: Vector SX -> String -> IO (Vector SX)
+dleIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleIn__11" c_dleIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+dleIn__11
+  :: Vector SX -> String -> String -> IO (Vector SX)
+dleIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleOut__0" c_dleOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+dleOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+dleOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleOut__1" c_dleOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+dleOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+dleOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleOut__2" c_dleOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+dleOut__2
+  :: Vector DMatrix -> IO (Vector DMatrix)
+dleOut__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleOut__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleOut__3" c_dleOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+dleOut__3
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+dleOut__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleOut__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleOut__4" c_dleOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+dleOut__4
+  :: Vector MX -> IO (Vector MX)
+dleOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleOut__5" c_dleOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+dleOut__5
+  :: Vector MX -> String -> IO (Vector MX)
+dleOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleOut__6" c_dleOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+dleOut__6
+  :: Vector SX -> IO (Vector SX)
+dleOut__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleOut__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleOut__7" c_dleOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+dleOut__7
+  :: Vector SX -> String -> IO (Vector SX)
+dleOut__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleOut__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleStruct__0" c_dleStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+dleStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+dleStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleStruct__1" c_dleStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+dleStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+dleStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dleStruct__2" c_dleStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+dleStruct__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+dleStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dleStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__0" c_dpleIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+dpleIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+dpleIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__1" c_dpleIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+dpleIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+dpleIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__2" c_dpleIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+dpleIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+dpleIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__3" c_dpleIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+dpleIn__3
+  :: Vector DMatrix -> IO (Vector DMatrix)
+dpleIn__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__4" c_dpleIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+dpleIn__4
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+dpleIn__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__5" c_dpleIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+dpleIn__5
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+dpleIn__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__6" c_dpleIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+dpleIn__6
+  :: Vector MX -> IO (Vector MX)
+dpleIn__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__7" c_dpleIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+dpleIn__7
+  :: Vector MX -> String -> IO (Vector MX)
+dpleIn__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__8" c_dpleIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+dpleIn__8
+  :: Vector MX -> String -> String -> IO (Vector MX)
+dpleIn__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__9" c_dpleIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+dpleIn__9
+  :: Vector SX -> IO (Vector SX)
+dpleIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__10" c_dpleIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+dpleIn__10
+  :: Vector SX -> String -> IO (Vector SX)
+dpleIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleIn__11" c_dpleIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+dpleIn__11
+  :: Vector SX -> String -> String -> IO (Vector SX)
+dpleIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleOut__0" c_dpleOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+dpleOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+dpleOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleOut__1" c_dpleOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+dpleOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+dpleOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleOut__2" c_dpleOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+dpleOut__2
+  :: Vector DMatrix -> IO (Vector DMatrix)
+dpleOut__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleOut__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleOut__3" c_dpleOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+dpleOut__3
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+dpleOut__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleOut__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleOut__4" c_dpleOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+dpleOut__4
+  :: Vector MX -> IO (Vector MX)
+dpleOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleOut__5" c_dpleOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+dpleOut__5
+  :: Vector MX -> String -> IO (Vector MX)
+dpleOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleOut__6" c_dpleOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+dpleOut__6
+  :: Vector SX -> IO (Vector SX)
+dpleOut__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleOut__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleOut__7" c_dpleOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+dpleOut__7
+  :: Vector SX -> String -> IO (Vector SX)
+dpleOut__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleOut__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleStruct__0" c_dpleStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+dpleStruct__0
+  :: Vector (Vector Sparsity) -> IO (Vector (Vector Sparsity))
+dpleStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleStruct__1" c_dpleStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+dpleStruct__1
+  :: Vector (Vector Sparsity) -> String -> IO (Vector (Vector Sparsity))
+dpleStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "dpleStruct__2" c_dpleStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+dpleStruct__2
+  :: Vector (Vector Sparsity) -> String -> String -> IO (Vector (Vector Sparsity))
+dpleStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_dpleStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "eig_symbolic" c_eig_symbolic
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+eig_symbolic
+  :: SX -> IO SX
+eig_symbolic x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_eig_symbolic errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "evalf__0" c_evalf__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+evalf__0
+  :: SX -> SX -> DMatrix -> IO DMatrix
+evalf__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_evalf__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "evalf__1" c_evalf__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr DMatrix')
+evalf__1
+  :: SX -> IO DMatrix
+evalf__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_evalf__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "expand" c_expand
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+expand
+  :: SX -> SX -> SX -> IO ()
+expand x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_expand errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "explicitRK__0" c_explicitRK__0
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+explicitRK__0
+  :: Function -> IO Function
+explicitRK__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_explicitRK__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "explicitRK__1" c_explicitRK__1
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr MX' -> IO (Ptr Function')
+explicitRK__1
+  :: Function -> MX -> IO Function
+explicitRK__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_explicitRK__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "explicitRK__2" c_explicitRK__2
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr MX' -> CInt -> IO (Ptr Function')
+explicitRK__2
+  :: Function -> MX -> Int -> IO Function
+explicitRK__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_explicitRK__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "explicitRK__3" c_explicitRK__3
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr MX' -> CInt -> CInt -> IO (Ptr Function')
+explicitRK__3
+  :: Function -> MX -> Int -> Int -> IO Function
+explicitRK__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_explicitRK__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "extractShared__0" c_extractShared__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
+extractShared__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO ()
+extractShared__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_extractShared__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "extractShared__1" c_extractShared__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO ()
+extractShared__1
+  :: Vector MX -> Vector MX -> Vector MX -> String -> IO ()
+extractShared__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_extractShared__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "extractShared__2" c_extractShared__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO ()
+extractShared__2
+  :: Vector MX -> Vector MX -> Vector MX -> String -> String -> IO ()
+extractShared__2 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_extractShared__2 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "extractShared__3" c_extractShared__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
+extractShared__3
+  :: Vector SX -> Vector SX -> Vector SX -> IO ()
+extractShared__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_extractShared__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "extractShared__4" c_extractShared__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO ()
+extractShared__4
+  :: Vector SX -> Vector SX -> Vector SX -> String -> IO ()
+extractShared__4 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_extractShared__4 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "extractShared__5" c_extractShared__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO ()
+extractShared__5
+  :: Vector SX -> Vector SX -> Vector SX -> String -> String -> IO ()
+extractShared__5 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_extractShared__5 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gauss_quadrature__0" c_gauss_quadrature__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+gauss_quadrature__0
+  :: SX -> SX -> SX -> SX -> IO SX
+gauss_quadrature__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gauss_quadrature__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gauss_quadrature__1" c_gauss_quadrature__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+gauss_quadrature__1
+  :: SX -> SX -> SX -> SX -> Int -> IO SX
+gauss_quadrature__1 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gauss_quadrature__1 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gauss_quadrature__2" c_gauss_quadrature__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr SX' -> IO (Ptr SX')
+gauss_quadrature__2
+  :: SX -> SX -> SX -> SX -> Int -> SX -> IO SX
+gauss_quadrature__2 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gauss_quadrature__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getFree" c_getFree
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+getFree
+  :: SX -> IO SX
+getFree x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getFree errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getOperatorRepresentation__0" c_getOperatorRepresentation__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+getOperatorRepresentation__0
+  :: MX -> Vector String -> IO String
+getOperatorRepresentation__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getOperatorRepresentation__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getOperatorRepresentation__1" c_getOperatorRepresentation__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr (StdVec (Ptr StdString)) -> IO (Ptr StdString)
+getOperatorRepresentation__1
+  :: SX -> Vector String -> IO String
+getOperatorRepresentation__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getOperatorRepresentation__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSchemeEntryDoc" c_getSchemeEntryDoc
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr StdString)
+getSchemeEntryDoc
+  :: InputOutputScheme -> Int -> IO String
+getSchemeEntryDoc x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSchemeEntryDoc errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSchemeEntryEnum" c_getSchemeEntryEnum
+  :: Ptr (Ptr StdString) -> CInt -> Ptr StdString -> IO CInt
+getSchemeEntryEnum
+  :: InputOutputScheme -> String -> IO Int
+getSchemeEntryEnum x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSchemeEntryEnum errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSchemeEntryEnumName" c_getSchemeEntryEnumName
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr StdString)
+getSchemeEntryEnumName
+  :: InputOutputScheme -> Int -> IO String
+getSchemeEntryEnumName x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSchemeEntryEnumName errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSchemeEntryName" c_getSchemeEntryName
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr StdString)
+getSchemeEntryName
+  :: InputOutputScheme -> Int -> IO String
+getSchemeEntryName x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSchemeEntryName errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSchemeEntryNames" c_getSchemeEntryNames
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
+getSchemeEntryNames
+  :: InputOutputScheme -> IO String
+getSchemeEntryNames x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSchemeEntryNames errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSchemeName" c_getSchemeName
+  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
+getSchemeName
+  :: InputOutputScheme -> IO String
+getSchemeName x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSchemeName errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSchemeSize" c_getSchemeSize
+  :: Ptr (Ptr StdString) -> CInt -> IO CInt
+getSchemeSize
+  :: InputOutputScheme -> IO Int
+getSchemeSize x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSchemeSize errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSymbols__0" c_getSymbols__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+getSymbols__0
+  :: Vector MX -> IO (Vector MX)
+getSymbols__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSymbols__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSymbols__1" c_getSymbols__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr (StdVec (Ptr MX')))
+getSymbols__1
+  :: MX -> IO (Vector MX)
+getSymbols__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSymbols__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "getSymbols__2" c_getSymbols__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+getSymbols__2
+  :: SX -> IO SX
+getSymbols__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_getSymbols__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__0" c_gradFIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+gradFIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+gradFIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__1" c_gradFIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+gradFIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+gradFIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__2" c_gradFIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+gradFIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+gradFIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__3" c_gradFIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+gradFIn__3
+  :: Vector DMatrix -> IO (Vector DMatrix)
+gradFIn__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__4" c_gradFIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+gradFIn__4
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+gradFIn__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__5" c_gradFIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+gradFIn__5
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+gradFIn__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__6" c_gradFIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+gradFIn__6
+  :: Vector MX -> IO (Vector MX)
+gradFIn__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__7" c_gradFIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+gradFIn__7
+  :: Vector MX -> String -> IO (Vector MX)
+gradFIn__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__8" c_gradFIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+gradFIn__8
+  :: Vector MX -> String -> String -> IO (Vector MX)
+gradFIn__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__9" c_gradFIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+gradFIn__9
+  :: Vector SX -> IO (Vector SX)
+gradFIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__10" c_gradFIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+gradFIn__10
+  :: Vector SX -> String -> IO (Vector SX)
+gradFIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFIn__11" c_gradFIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+gradFIn__11
+  :: Vector SX -> String -> String -> IO (Vector SX)
+gradFIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__0" c_gradFOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+gradFOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+gradFOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__1" c_gradFOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+gradFOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+gradFOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__2" c_gradFOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+gradFOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+gradFOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__3" c_gradFOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+gradFOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+gradFOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__4" c_gradFOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+gradFOut__4
+  :: Vector DMatrix -> IO (Vector DMatrix)
+gradFOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__5" c_gradFOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+gradFOut__5
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+gradFOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__6" c_gradFOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+gradFOut__6
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+gradFOut__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__7" c_gradFOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+gradFOut__7
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+gradFOut__7 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__7 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__8" c_gradFOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+gradFOut__8
+  :: Vector MX -> IO (Vector MX)
+gradFOut__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__9" c_gradFOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+gradFOut__9
+  :: Vector MX -> String -> IO (Vector MX)
+gradFOut__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__10" c_gradFOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+gradFOut__10
+  :: Vector MX -> String -> String -> IO (Vector MX)
+gradFOut__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__11" c_gradFOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+gradFOut__11
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+gradFOut__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__12" c_gradFOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+gradFOut__12
+  :: Vector SX -> IO (Vector SX)
+gradFOut__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__13" c_gradFOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+gradFOut__13
+  :: Vector SX -> String -> IO (Vector SX)
+gradFOut__13 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__13 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__14" c_gradFOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+gradFOut__14
+  :: Vector SX -> String -> String -> IO (Vector SX)
+gradFOut__14 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__14 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradFOut__15" c_gradFOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+gradFOut__15
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+gradFOut__15 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradFOut__15 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradient__0" c_gradient__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+gradient__0
+  :: MX -> MX -> IO MX
+gradient__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradient__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "gradient__1" c_gradient__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+gradient__1
+  :: SX -> SX -> IO SX
+gradient__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_gradient__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "graph_substitute__0" c_graph_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+graph_substitute__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
+graph_substitute__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_graph_substitute__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "graph_substitute__1" c_graph_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+graph_substitute__1
+  :: MX -> Vector MX -> Vector MX -> IO MX
+graph_substitute__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_graph_substitute__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "heaviside" c_heaviside
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+heaviside
+  :: SX -> IO SX
+heaviside x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_heaviside errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__0" c_hessLagIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+hessLagIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__1" c_hessLagIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+hessLagIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__2" c_hessLagIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+hessLagIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__3" c_hessLagIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+hessLagIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__4" c_hessLagIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+hessLagIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__5" c_hessLagIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagIn__5
+  :: Vector DMatrix -> IO (Vector DMatrix)
+hessLagIn__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__6" c_hessLagIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagIn__6
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+hessLagIn__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__7" c_hessLagIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagIn__7
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+hessLagIn__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__8" c_hessLagIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagIn__8
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+hessLagIn__8 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__8 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__9" c_hessLagIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagIn__9
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+hessLagIn__9 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__9 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__10" c_hessLagIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+hessLagIn__10
+  :: Vector MX -> IO (Vector MX)
+hessLagIn__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__11" c_hessLagIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagIn__11
+  :: Vector MX -> String -> IO (Vector MX)
+hessLagIn__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__12" c_hessLagIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagIn__12
+  :: Vector MX -> String -> String -> IO (Vector MX)
+hessLagIn__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__13" c_hessLagIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagIn__13
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+hessLagIn__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__14" c_hessLagIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagIn__14
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+hessLagIn__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__15" c_hessLagIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+hessLagIn__15
+  :: Vector SX -> IO (Vector SX)
+hessLagIn__15 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__15 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__16" c_hessLagIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagIn__16
+  :: Vector SX -> String -> IO (Vector SX)
+hessLagIn__16 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__16 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__17" c_hessLagIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagIn__17
+  :: Vector SX -> String -> String -> IO (Vector SX)
+hessLagIn__17 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__17 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__18" c_hessLagIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagIn__18
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+hessLagIn__18 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__18 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagIn__19" c_hessLagIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagIn__19
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+hessLagIn__19 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagIn__19 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__0" c_hessLagOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+hessLagOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__1" c_hessLagOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+hessLagOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__2" c_hessLagOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+hessLagOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__3" c_hessLagOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+hessLagOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__4" c_hessLagOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+hessLagOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__5" c_hessLagOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hessLagOut__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+hessLagOut__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__6" c_hessLagOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagOut__6
+  :: Vector DMatrix -> IO (Vector DMatrix)
+hessLagOut__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__7" c_hessLagOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagOut__7
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+hessLagOut__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__8" c_hessLagOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagOut__8
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+hessLagOut__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__9" c_hessLagOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagOut__9
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+hessLagOut__9 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__9 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__10" c_hessLagOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagOut__10
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+hessLagOut__10 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__10 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__11" c_hessLagOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hessLagOut__11
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+hessLagOut__11 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__11 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__12" c_hessLagOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+hessLagOut__12
+  :: Vector MX -> IO (Vector MX)
+hessLagOut__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__13" c_hessLagOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagOut__13
+  :: Vector MX -> String -> IO (Vector MX)
+hessLagOut__13 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__13 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__14" c_hessLagOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagOut__14
+  :: Vector MX -> String -> String -> IO (Vector MX)
+hessLagOut__14 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__14 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__15" c_hessLagOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagOut__15
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+hessLagOut__15 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__15 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__16" c_hessLagOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagOut__16
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+hessLagOut__16 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__16 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__17" c_hessLagOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hessLagOut__17
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+hessLagOut__17 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__17 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__18" c_hessLagOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+hessLagOut__18
+  :: Vector SX -> IO (Vector SX)
+hessLagOut__18 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__18 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__19" c_hessLagOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagOut__19
+  :: Vector SX -> String -> IO (Vector SX)
+hessLagOut__19 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__19 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__20" c_hessLagOut__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagOut__20
+  :: Vector SX -> String -> String -> IO (Vector SX)
+hessLagOut__20 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__20 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__21" c_hessLagOut__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagOut__21
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+hessLagOut__21 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__21 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__22" c_hessLagOut__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagOut__22
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+hessLagOut__22 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__22 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessLagOut__23" c_hessLagOut__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hessLagOut__23
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+hessLagOut__23 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessLagOut__23 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessian__0" c_hessian__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
+hessian__0
+  :: SX -> SX -> SX -> SX -> IO ()
+hessian__0 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessian__0 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hessian__1" c_hessian__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+hessian__1
+  :: SX -> SX -> IO SX
+hessian__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hessian__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__0" c_hnlpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+hnlpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+hnlpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__1" c_hnlpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hnlpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+hnlpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__2" c_hnlpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hnlpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+hnlpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__3" c_hnlpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+hnlpIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+hnlpIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__4" c_hnlpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+hnlpIn__4
+  :: Vector DMatrix -> IO (Vector DMatrix)
+hnlpIn__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__5" c_hnlpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hnlpIn__5
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+hnlpIn__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__6" c_hnlpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hnlpIn__6
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+hnlpIn__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__7" c_hnlpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+hnlpIn__7
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+hnlpIn__7 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__7 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__8" c_hnlpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+hnlpIn__8
+  :: Vector MX -> IO (Vector MX)
+hnlpIn__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__9" c_hnlpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hnlpIn__9
+  :: Vector MX -> String -> IO (Vector MX)
+hnlpIn__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__10" c_hnlpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hnlpIn__10
+  :: Vector MX -> String -> String -> IO (Vector MX)
+hnlpIn__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__11" c_hnlpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+hnlpIn__11
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+hnlpIn__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__12" c_hnlpIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+hnlpIn__12
+  :: Vector SX -> IO (Vector SX)
+hnlpIn__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__13" c_hnlpIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hnlpIn__13
+  :: Vector SX -> String -> IO (Vector SX)
+hnlpIn__13 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__13 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__14" c_hnlpIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hnlpIn__14
+  :: Vector SX -> String -> String -> IO (Vector SX)
+hnlpIn__14 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__14 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "hnlpIn__15" c_hnlpIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+hnlpIn__15
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+hnlpIn__15 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_hnlpIn__15 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "if_else__0" c_if_else__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+if_else__0
+  :: MX -> MX -> MX -> IO MX
+if_else__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_if_else__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "if_else__1" c_if_else__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+if_else__1
+  :: SX -> SX -> SX -> IO SX
+if_else__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_if_else__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "implicitRK" c_implicitRK
+  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO (Ptr Function')
+implicitRK
+  :: Function -> String -> IO Function
+implicitRK x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_implicitRK errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__0" c_integratorIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+integratorIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__1" c_integratorIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+integratorIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__2" c_integratorIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+integratorIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__3" c_integratorIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+integratorIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__4" c_integratorIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+integratorIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__5" c_integratorIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+integratorIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__6" c_integratorIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+integratorIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__7" c_integratorIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorIn__7
+  :: Vector DMatrix -> IO (Vector DMatrix)
+integratorIn__7 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__7 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__8" c_integratorIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorIn__8
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+integratorIn__8 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__8 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__9" c_integratorIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorIn__9
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+integratorIn__9 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__9 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__10" c_integratorIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorIn__10
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+integratorIn__10 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__10 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__11" c_integratorIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorIn__11
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+integratorIn__11 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__11 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__12" c_integratorIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorIn__12
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+integratorIn__12 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__12 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__13" c_integratorIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorIn__13
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+integratorIn__13 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__13 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__14" c_integratorIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+integratorIn__14
+  :: Vector MX -> IO (Vector MX)
+integratorIn__14 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__14 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__15" c_integratorIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorIn__15
+  :: Vector MX -> String -> IO (Vector MX)
+integratorIn__15 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__15 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__16" c_integratorIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorIn__16
+  :: Vector MX -> String -> String -> IO (Vector MX)
+integratorIn__16 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__16 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__17" c_integratorIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorIn__17
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+integratorIn__17 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__17 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__18" c_integratorIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorIn__18
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+integratorIn__18 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__18 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__19" c_integratorIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorIn__19
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+integratorIn__19 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__19 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__20" c_integratorIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorIn__20
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+integratorIn__20 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__21" c_integratorIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+integratorIn__21
+  :: Vector SX -> IO (Vector SX)
+integratorIn__21 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__21 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__22" c_integratorIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorIn__22
+  :: Vector SX -> String -> IO (Vector SX)
+integratorIn__22 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__22 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__23" c_integratorIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorIn__23
+  :: Vector SX -> String -> String -> IO (Vector SX)
+integratorIn__23 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__23 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__24" c_integratorIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorIn__24
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+integratorIn__24 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__24 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__25" c_integratorIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorIn__25
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+integratorIn__25 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__25 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__26" c_integratorIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorIn__26
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+integratorIn__26 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__26 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorIn__27" c_integratorIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorIn__27
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+integratorIn__27 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__0" c_integratorOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+integratorOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__1" c_integratorOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+integratorOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__2" c_integratorOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+integratorOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__3" c_integratorOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+integratorOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__4" c_integratorOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+integratorOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__5" c_integratorOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorOut__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+integratorOut__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__6" c_integratorOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+integratorOut__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+integratorOut__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__7" c_integratorOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorOut__7
+  :: Vector DMatrix -> IO (Vector DMatrix)
+integratorOut__7 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__7 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__8" c_integratorOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorOut__8
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+integratorOut__8 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__8 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__9" c_integratorOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorOut__9
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+integratorOut__9 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__9 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__10" c_integratorOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorOut__10
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+integratorOut__10 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__10 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__11" c_integratorOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorOut__11
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+integratorOut__11 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__11 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__12" c_integratorOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorOut__12
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+integratorOut__12 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__12 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__13" c_integratorOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+integratorOut__13
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+integratorOut__13 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__13 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__14" c_integratorOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+integratorOut__14
+  :: Vector MX -> IO (Vector MX)
+integratorOut__14 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__14 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__15" c_integratorOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorOut__15
+  :: Vector MX -> String -> IO (Vector MX)
+integratorOut__15 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__15 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__16" c_integratorOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorOut__16
+  :: Vector MX -> String -> String -> IO (Vector MX)
+integratorOut__16 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__16 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__17" c_integratorOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorOut__17
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+integratorOut__17 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__17 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__18" c_integratorOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorOut__18
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+integratorOut__18 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__18 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__19" c_integratorOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorOut__19
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+integratorOut__19 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__19 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__20" c_integratorOut__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+integratorOut__20
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+integratorOut__20 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__21" c_integratorOut__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+integratorOut__21
+  :: Vector SX -> IO (Vector SX)
+integratorOut__21 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__21 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__22" c_integratorOut__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorOut__22
+  :: Vector SX -> String -> IO (Vector SX)
+integratorOut__22 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__22 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__23" c_integratorOut__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorOut__23
+  :: Vector SX -> String -> String -> IO (Vector SX)
+integratorOut__23 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__23 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__24" c_integratorOut__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorOut__24
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+integratorOut__24 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__24 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__25" c_integratorOut__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorOut__25
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+integratorOut__25 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__25 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__26" c_integratorOut__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorOut__26
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+integratorOut__26 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__26 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "integratorOut__27" c_integratorOut__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+integratorOut__27
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+integratorOut__27 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_integratorOut__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isDecreasing__0" c_isDecreasing__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
+isDecreasing__0
+  :: Vector Double -> IO Bool
+isDecreasing__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isDecreasing__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isDecreasing__1" c_isDecreasing__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
+isDecreasing__1
+  :: Vector Int -> IO Bool
+isDecreasing__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isDecreasing__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isIncreasing__0" c_isIncreasing__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
+isIncreasing__0
+  :: Vector Double -> IO Bool
+isIncreasing__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isIncreasing__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isIncreasing__1" c_isIncreasing__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
+isIncreasing__1
+  :: Vector Int -> IO Bool
+isIncreasing__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isIncreasing__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isMonotone__0" c_isMonotone__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
+isMonotone__0
+  :: Vector Double -> IO Bool
+isMonotone__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isMonotone__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isMonotone__1" c_isMonotone__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
+isMonotone__1
+  :: Vector Int -> IO Bool
+isMonotone__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isMonotone__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isNonDecreasing__0" c_isNonDecreasing__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
+isNonDecreasing__0
+  :: Vector Double -> IO Bool
+isNonDecreasing__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isNonDecreasing__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isNonDecreasing__1" c_isNonDecreasing__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
+isNonDecreasing__1
+  :: Vector Int -> IO Bool
+isNonDecreasing__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isNonDecreasing__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isNonIncreasing__0" c_isNonIncreasing__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
+isNonIncreasing__0
+  :: Vector Double -> IO Bool
+isNonIncreasing__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isNonIncreasing__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isNonIncreasing__1" c_isNonIncreasing__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
+isNonIncreasing__1
+  :: Vector Int -> IO Bool
+isNonIncreasing__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isNonIncreasing__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isRegular__0" c_isRegular__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
+isRegular__0
+  :: Vector Double -> IO Bool
+isRegular__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isRegular__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isRegular__1" c_isRegular__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
+isRegular__1
+  :: Vector Int -> IO Bool
+isRegular__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isRegular__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isStrictlyMonotone__0" c_isStrictlyMonotone__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO CInt
+isStrictlyMonotone__0
+  :: Vector Double -> IO Bool
+isStrictlyMonotone__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isStrictlyMonotone__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "isStrictlyMonotone__1" c_isStrictlyMonotone__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO CInt
+isStrictlyMonotone__1
+  :: Vector Int -> IO Bool
+isStrictlyMonotone__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_isStrictlyMonotone__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__0" c_jacGIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+jacGIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+jacGIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__1" c_jacGIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+jacGIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+jacGIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__2" c_jacGIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+jacGIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+jacGIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__3" c_jacGIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+jacGIn__3
+  :: Vector DMatrix -> IO (Vector DMatrix)
+jacGIn__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__4" c_jacGIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+jacGIn__4
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+jacGIn__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__5" c_jacGIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+jacGIn__5
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+jacGIn__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__6" c_jacGIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+jacGIn__6
+  :: Vector MX -> IO (Vector MX)
+jacGIn__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__7" c_jacGIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+jacGIn__7
+  :: Vector MX -> String -> IO (Vector MX)
+jacGIn__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__8" c_jacGIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+jacGIn__8
+  :: Vector MX -> String -> String -> IO (Vector MX)
+jacGIn__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__9" c_jacGIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+jacGIn__9
+  :: Vector SX -> IO (Vector SX)
+jacGIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__10" c_jacGIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+jacGIn__10
+  :: Vector SX -> String -> IO (Vector SX)
+jacGIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGIn__11" c_jacGIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+jacGIn__11
+  :: Vector SX -> String -> String -> IO (Vector SX)
+jacGIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__0" c_jacGOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+jacGOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+jacGOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__1" c_jacGOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+jacGOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+jacGOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__2" c_jacGOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+jacGOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+jacGOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__3" c_jacGOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+jacGOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+jacGOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__4" c_jacGOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+jacGOut__4
+  :: Vector DMatrix -> IO (Vector DMatrix)
+jacGOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__5" c_jacGOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+jacGOut__5
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+jacGOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__6" c_jacGOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+jacGOut__6
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+jacGOut__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__7" c_jacGOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+jacGOut__7
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+jacGOut__7 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__7 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__8" c_jacGOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+jacGOut__8
+  :: Vector MX -> IO (Vector MX)
+jacGOut__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__9" c_jacGOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+jacGOut__9
+  :: Vector MX -> String -> IO (Vector MX)
+jacGOut__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__10" c_jacGOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+jacGOut__10
+  :: Vector MX -> String -> String -> IO (Vector MX)
+jacGOut__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__11" c_jacGOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+jacGOut__11
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+jacGOut__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__12" c_jacGOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+jacGOut__12
+  :: Vector SX -> IO (Vector SX)
+jacGOut__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__13" c_jacGOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+jacGOut__13
+  :: Vector SX -> String -> IO (Vector SX)
+jacGOut__13 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__13 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__14" c_jacGOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+jacGOut__14
+  :: Vector SX -> String -> String -> IO (Vector SX)
+jacGOut__14 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__14 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacGOut__15" c_jacGOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+jacGOut__15
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+jacGOut__15 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacGOut__15 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacobian__0" c_jacobian__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+jacobian__0
+  :: MX -> MX -> IO MX
+jacobian__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacobian__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacobian__1" c_jacobian__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+jacobian__1
+  :: SX -> SX -> IO SX
+jacobian__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacobian__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacobianTimesVector__0" c_jacobianTimesVector__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+jacobianTimesVector__0
+  :: SX -> SX -> SX -> IO SX
+jacobianTimesVector__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacobianTimesVector__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "jacobianTimesVector__1" c_jacobianTimesVector__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+jacobianTimesVector__1
+  :: SX -> SX -> SX -> Bool -> IO SX
+jacobianTimesVector__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_jacobianTimesVector__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__0" c_linsolIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+linsolIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+linsolIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__1" c_linsolIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+linsolIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+linsolIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__2" c_linsolIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+linsolIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+linsolIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__3" c_linsolIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+linsolIn__3
+  :: Vector DMatrix -> IO (Vector DMatrix)
+linsolIn__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__4" c_linsolIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+linsolIn__4
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+linsolIn__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__5" c_linsolIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+linsolIn__5
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+linsolIn__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__6" c_linsolIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+linsolIn__6
+  :: Vector MX -> IO (Vector MX)
+linsolIn__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__7" c_linsolIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+linsolIn__7
+  :: Vector MX -> String -> IO (Vector MX)
+linsolIn__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__8" c_linsolIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+linsolIn__8
+  :: Vector MX -> String -> String -> IO (Vector MX)
+linsolIn__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__9" c_linsolIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+linsolIn__9
+  :: Vector SX -> IO (Vector SX)
+linsolIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__10" c_linsolIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+linsolIn__10
+  :: Vector SX -> String -> IO (Vector SX)
+linsolIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolIn__11" c_linsolIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+linsolIn__11
+  :: Vector SX -> String -> String -> IO (Vector SX)
+linsolIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolOut__0" c_linsolOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+linsolOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+linsolOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolOut__1" c_linsolOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+linsolOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+linsolOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolOut__2" c_linsolOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+linsolOut__2
+  :: Vector DMatrix -> IO (Vector DMatrix)
+linsolOut__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolOut__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolOut__3" c_linsolOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+linsolOut__3
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+linsolOut__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolOut__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolOut__4" c_linsolOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+linsolOut__4
+  :: Vector MX -> IO (Vector MX)
+linsolOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolOut__5" c_linsolOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+linsolOut__5
+  :: Vector MX -> String -> IO (Vector MX)
+linsolOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolOut__6" c_linsolOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+linsolOut__6
+  :: Vector SX -> IO (Vector SX)
+linsolOut__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolOut__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "linsolOut__7" c_linsolOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+linsolOut__7
+  :: Vector SX -> String -> IO (Vector SX)
+linsolOut__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_linsolOut__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_and__0" c_logic_and__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+logic_and__0
+  :: MX -> MX -> IO MX
+logic_and__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_and__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_and__1" c_logic_and__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+logic_and__1
+  :: SX -> SX -> IO SX
+logic_and__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_and__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_and__2" c_logic_and__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+logic_and__2
+  :: DMatrix -> DMatrix -> IO DMatrix
+logic_and__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_and__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_and__3" c_logic_and__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+logic_and__3
+  :: IMatrix -> IMatrix -> IO IMatrix
+logic_and__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_and__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_and__4" c_logic_and__4
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+logic_and__4
+  :: Double -> Double -> IO Double
+logic_and__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_and__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_and__5" c_logic_and__5
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO CInt
+logic_and__5
+  :: Int -> Int -> IO Int
+logic_and__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_and__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_not__0" c_logic_not__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+logic_not__0
+  :: MX -> IO MX
+logic_not__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_not__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_not__1" c_logic_not__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+logic_not__1
+  :: SX -> IO SX
+logic_not__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_not__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_not__2" c_logic_not__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+logic_not__2
+  :: DMatrix -> IO DMatrix
+logic_not__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_not__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_not__3" c_logic_not__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+logic_not__3
+  :: IMatrix -> IO IMatrix
+logic_not__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_not__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_not__4" c_logic_not__4
+  :: Ptr (Ptr StdString) -> CDouble -> IO CDouble
+logic_not__4
+  :: Double -> IO Double
+logic_not__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_not__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_not__5" c_logic_not__5
+  :: Ptr (Ptr StdString) -> CInt -> IO CInt
+logic_not__5
+  :: Int -> IO Int
+logic_not__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_not__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_or__0" c_logic_or__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+logic_or__0
+  :: MX -> MX -> IO MX
+logic_or__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_or__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_or__1" c_logic_or__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+logic_or__1
+  :: SX -> SX -> IO SX
+logic_or__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_or__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_or__2" c_logic_or__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+logic_or__2
+  :: DMatrix -> DMatrix -> IO DMatrix
+logic_or__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_or__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_or__3" c_logic_or__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+logic_or__3
+  :: IMatrix -> IMatrix -> IO IMatrix
+logic_or__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_or__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_or__4" c_logic_or__4
+  :: Ptr (Ptr StdString) -> CDouble -> CDouble -> IO CDouble
+logic_or__4
+  :: Double -> Double -> IO Double
+logic_or__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_or__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "logic_or__5" c_logic_or__5
+  :: Ptr (Ptr StdString) -> CInt -> CInt -> IO CInt
+logic_or__5
+  :: Int -> Int -> IO Int
+logic_or__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_logic_or__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lookupvector" c_lookupvector
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr (StdVec CInt))
+lookupvector
+  :: Vector Int -> Int -> IO (Vector Int)
+lookupvector x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lookupvector errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__0" c_lpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+lpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__1" c_lpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+lpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__2" c_lpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+lpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__3" c_lpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+lpIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__4" c_lpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+lpIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__5" c_lpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+lpIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__6" c_lpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+lpIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__7" c_lpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpIn__7
+  :: Vector DMatrix -> IO (Vector DMatrix)
+lpIn__7 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__7 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__8" c_lpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpIn__8
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+lpIn__8 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__8 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__9" c_lpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpIn__9
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+lpIn__9 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__9 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__10" c_lpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpIn__10
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+lpIn__10 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__10 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__11" c_lpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpIn__11
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+lpIn__11 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__11 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__12" c_lpIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpIn__12
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+lpIn__12 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__12 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__13" c_lpIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpIn__13
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+lpIn__13 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__13 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__14" c_lpIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+lpIn__14
+  :: Vector MX -> IO (Vector MX)
+lpIn__14 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__14 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__15" c_lpIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpIn__15
+  :: Vector MX -> String -> IO (Vector MX)
+lpIn__15 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__15 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__16" c_lpIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpIn__16
+  :: Vector MX -> String -> String -> IO (Vector MX)
+lpIn__16 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__16 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__17" c_lpIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpIn__17
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+lpIn__17 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__17 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__18" c_lpIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpIn__18
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+lpIn__18 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__18 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__19" c_lpIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpIn__19
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+lpIn__19 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__20" c_lpIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpIn__20
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+lpIn__20 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__21" c_lpIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+lpIn__21
+  :: Vector SX -> IO (Vector SX)
+lpIn__21 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__21 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__22" c_lpIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpIn__22
+  :: Vector SX -> String -> IO (Vector SX)
+lpIn__22 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__22 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__23" c_lpIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpIn__23
+  :: Vector SX -> String -> String -> IO (Vector SX)
+lpIn__23 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__23 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__24" c_lpIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpIn__24
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+lpIn__24 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__24 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__25" c_lpIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpIn__25
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+lpIn__25 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__25 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__26" c_lpIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpIn__26
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+lpIn__26 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__26 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpIn__27" c_lpIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpIn__27
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+lpIn__27 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__0" c_lpOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+lpOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__1" c_lpOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+lpOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__2" c_lpOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+lpOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__3" c_lpOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+lpOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__4" c_lpOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+lpOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__5" c_lpOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpOut__5
+  :: Vector DMatrix -> IO (Vector DMatrix)
+lpOut__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__6" c_lpOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpOut__6
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+lpOut__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__7" c_lpOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpOut__7
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+lpOut__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__8" c_lpOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpOut__8
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+lpOut__8 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__8 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__9" c_lpOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lpOut__9
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+lpOut__9 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__9 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__10" c_lpOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+lpOut__10
+  :: Vector MX -> IO (Vector MX)
+lpOut__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__11" c_lpOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpOut__11
+  :: Vector MX -> String -> IO (Vector MX)
+lpOut__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__12" c_lpOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpOut__12
+  :: Vector MX -> String -> String -> IO (Vector MX)
+lpOut__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__13" c_lpOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpOut__13
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+lpOut__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__14" c_lpOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lpOut__14
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+lpOut__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__15" c_lpOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+lpOut__15
+  :: Vector SX -> IO (Vector SX)
+lpOut__15 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__15 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__16" c_lpOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpOut__16
+  :: Vector SX -> String -> IO (Vector SX)
+lpOut__16 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__16 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__17" c_lpOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpOut__17
+  :: Vector SX -> String -> String -> IO (Vector SX)
+lpOut__17 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__17 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__18" c_lpOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpOut__18
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+lpOut__18 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__18 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpOut__19" c_lpOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lpOut__19
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+lpOut__19 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpOut__19 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpStruct__0" c_lpStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+lpStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lpStruct__1" c_lpStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lpStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+lpStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lpStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__0" c_lrdleIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+lrdleIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__1" c_lrdleIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+lrdleIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__2" c_lrdleIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+lrdleIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__3" c_lrdleIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+lrdleIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__4" c_lrdleIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+lrdleIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__5" c_lrdleIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdleIn__5
+  :: Vector DMatrix -> IO (Vector DMatrix)
+lrdleIn__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__6" c_lrdleIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdleIn__6
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+lrdleIn__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__7" c_lrdleIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdleIn__7
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+lrdleIn__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__8" c_lrdleIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdleIn__8
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+lrdleIn__8 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__8 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__9" c_lrdleIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdleIn__9
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+lrdleIn__9 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__9 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__10" c_lrdleIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+lrdleIn__10
+  :: Vector MX -> IO (Vector MX)
+lrdleIn__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__11" c_lrdleIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdleIn__11
+  :: Vector MX -> String -> IO (Vector MX)
+lrdleIn__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__12" c_lrdleIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdleIn__12
+  :: Vector MX -> String -> String -> IO (Vector MX)
+lrdleIn__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__13" c_lrdleIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdleIn__13
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+lrdleIn__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__14" c_lrdleIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdleIn__14
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+lrdleIn__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__15" c_lrdleIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+lrdleIn__15
+  :: Vector SX -> IO (Vector SX)
+lrdleIn__15 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__15 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__16" c_lrdleIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdleIn__16
+  :: Vector SX -> String -> IO (Vector SX)
+lrdleIn__16 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__16 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__17" c_lrdleIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdleIn__17
+  :: Vector SX -> String -> String -> IO (Vector SX)
+lrdleIn__17 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__17 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__18" c_lrdleIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdleIn__18
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+lrdleIn__18 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__18 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleIn__19" c_lrdleIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdleIn__19
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+lrdleIn__19 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleIn__19 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleOut__0" c_lrdleOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+lrdleOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleOut__1" c_lrdleOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+lrdleOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleOut__2" c_lrdleOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdleOut__2
+  :: Vector DMatrix -> IO (Vector DMatrix)
+lrdleOut__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleOut__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleOut__3" c_lrdleOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdleOut__3
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+lrdleOut__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleOut__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleOut__4" c_lrdleOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+lrdleOut__4
+  :: Vector MX -> IO (Vector MX)
+lrdleOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleOut__5" c_lrdleOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdleOut__5
+  :: Vector MX -> String -> IO (Vector MX)
+lrdleOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleOut__6" c_lrdleOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+lrdleOut__6
+  :: Vector SX -> IO (Vector SX)
+lrdleOut__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleOut__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleOut__7" c_lrdleOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdleOut__7
+  :: Vector SX -> String -> IO (Vector SX)
+lrdleOut__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleOut__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleStruct__0" c_lrdleStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+lrdleStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleStruct__1" c_lrdleStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+lrdleStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleStruct__2" c_lrdleStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleStruct__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+lrdleStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleStruct__3" c_lrdleStruct__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleStruct__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+lrdleStruct__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleStruct__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdleStruct__4" c_lrdleStruct__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdleStruct__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+lrdleStruct__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdleStruct__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__0" c_lrdpleIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdpleIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+lrdpleIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__1" c_lrdpleIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdpleIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+lrdpleIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__2" c_lrdpleIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdpleIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+lrdpleIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__3" c_lrdpleIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdpleIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+lrdpleIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__4" c_lrdpleIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdpleIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+lrdpleIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__5" c_lrdpleIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdpleIn__5
+  :: Vector DMatrix -> IO (Vector DMatrix)
+lrdpleIn__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__6" c_lrdpleIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdpleIn__6
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+lrdpleIn__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__7" c_lrdpleIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdpleIn__7
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+lrdpleIn__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__8" c_lrdpleIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdpleIn__8
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+lrdpleIn__8 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__8 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__9" c_lrdpleIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdpleIn__9
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+lrdpleIn__9 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__9 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__10" c_lrdpleIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+lrdpleIn__10
+  :: Vector MX -> IO (Vector MX)
+lrdpleIn__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__11" c_lrdpleIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdpleIn__11
+  :: Vector MX -> String -> IO (Vector MX)
+lrdpleIn__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__12" c_lrdpleIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdpleIn__12
+  :: Vector MX -> String -> String -> IO (Vector MX)
+lrdpleIn__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__13" c_lrdpleIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdpleIn__13
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+lrdpleIn__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__14" c_lrdpleIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdpleIn__14
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+lrdpleIn__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__15" c_lrdpleIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+lrdpleIn__15
+  :: Vector SX -> IO (Vector SX)
+lrdpleIn__15 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__15 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__16" c_lrdpleIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdpleIn__16
+  :: Vector SX -> String -> IO (Vector SX)
+lrdpleIn__16 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__16 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__17" c_lrdpleIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdpleIn__17
+  :: Vector SX -> String -> String -> IO (Vector SX)
+lrdpleIn__17 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__17 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__18" c_lrdpleIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdpleIn__18
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+lrdpleIn__18 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__18 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleIn__19" c_lrdpleIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdpleIn__19
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+lrdpleIn__19 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleIn__19 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleOut__0" c_lrdpleOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdpleOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+lrdpleOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleOut__1" c_lrdpleOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+lrdpleOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+lrdpleOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleOut__2" c_lrdpleOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdpleOut__2
+  :: Vector DMatrix -> IO (Vector DMatrix)
+lrdpleOut__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleOut__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleOut__3" c_lrdpleOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+lrdpleOut__3
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+lrdpleOut__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleOut__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleOut__4" c_lrdpleOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+lrdpleOut__4
+  :: Vector MX -> IO (Vector MX)
+lrdpleOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleOut__5" c_lrdpleOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+lrdpleOut__5
+  :: Vector MX -> String -> IO (Vector MX)
+lrdpleOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleOut__6" c_lrdpleOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+lrdpleOut__6
+  :: Vector SX -> IO (Vector SX)
+lrdpleOut__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleOut__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleOut__7" c_lrdpleOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+lrdpleOut__7
+  :: Vector SX -> String -> IO (Vector SX)
+lrdpleOut__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleOut__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleStruct__0" c_lrdpleStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+lrdpleStruct__0
+  :: Vector (Vector Sparsity) -> IO (Vector (Vector Sparsity))
+lrdpleStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleStruct__1" c_lrdpleStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+lrdpleStruct__1
+  :: Vector (Vector Sparsity) -> String -> IO (Vector (Vector Sparsity))
+lrdpleStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleStruct__2" c_lrdpleStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+lrdpleStruct__2
+  :: Vector (Vector Sparsity) -> String -> String -> IO (Vector (Vector Sparsity))
+lrdpleStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleStruct__3" c_lrdpleStruct__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+lrdpleStruct__3
+  :: Vector (Vector Sparsity) -> String -> String -> String -> IO (Vector (Vector Sparsity))
+lrdpleStruct__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleStruct__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "lrdpleStruct__4" c_lrdpleStruct__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr (StdVec (Ptr Sparsity')))))
+lrdpleStruct__4
+  :: Vector (Vector Sparsity) -> String -> String -> String -> String -> IO (Vector (Vector Sparsity))
+lrdpleStruct__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_lrdpleStruct__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "matrix_expand__0" c_matrix_expand__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+matrix_expand__0
+  :: Vector MX -> IO (Vector MX)
+matrix_expand__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_matrix_expand__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "matrix_expand__1" c_matrix_expand__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+matrix_expand__1
+  :: Vector MX -> Vector MX -> IO (Vector MX)
+matrix_expand__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_matrix_expand__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "matrix_expand__2" c_matrix_expand__2
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO (Ptr MX')
+matrix_expand__2
+  :: MX -> IO MX
+matrix_expand__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_matrix_expand__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "matrix_expand__3" c_matrix_expand__3
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr MX')
+matrix_expand__3
+  :: MX -> Vector MX -> IO MX
+matrix_expand__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_matrix_expand__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "mtaylor__0" c_mtaylor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr (StdVec CInt) -> IO (Ptr SX')
+mtaylor__0
+  :: SX -> SX -> SX -> Int -> Vector Int -> IO SX
+mtaylor__0 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_mtaylor__0 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "mtaylor__1" c_mtaylor__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+mtaylor__1
+  :: SX -> SX -> SX -> IO SX
+mtaylor__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_mtaylor__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "mtaylor__2" c_mtaylor__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+mtaylor__2
+  :: SX -> SX -> SX -> Int -> IO SX
+mtaylor__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_mtaylor__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__0" c_nlpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+nlpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__1" c_nlpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+nlpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__2" c_nlpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+nlpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__3" c_nlpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpIn__3
+  :: Vector DMatrix -> IO (Vector DMatrix)
+nlpIn__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__4" c_nlpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpIn__4
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+nlpIn__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__5" c_nlpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpIn__5
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+nlpIn__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__6" c_nlpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+nlpIn__6
+  :: Vector MX -> IO (Vector MX)
+nlpIn__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__7" c_nlpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpIn__7
+  :: Vector MX -> String -> IO (Vector MX)
+nlpIn__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__8" c_nlpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpIn__8
+  :: Vector MX -> String -> String -> IO (Vector MX)
+nlpIn__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__9" c_nlpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+nlpIn__9
+  :: Vector SX -> IO (Vector SX)
+nlpIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__10" c_nlpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpIn__10
+  :: Vector SX -> String -> IO (Vector SX)
+nlpIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpIn__11" c_nlpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpIn__11
+  :: Vector SX -> String -> String -> IO (Vector SX)
+nlpIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__0" c_nlpOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+nlpOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__1" c_nlpOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+nlpOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__2" c_nlpOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+nlpOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__3" c_nlpOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpOut__3
+  :: Vector DMatrix -> IO (Vector DMatrix)
+nlpOut__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__4" c_nlpOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpOut__4
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+nlpOut__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__5" c_nlpOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpOut__5
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+nlpOut__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__6" c_nlpOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+nlpOut__6
+  :: Vector MX -> IO (Vector MX)
+nlpOut__6 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__6 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__7" c_nlpOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpOut__7
+  :: Vector MX -> String -> IO (Vector MX)
+nlpOut__7 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__7 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__8" c_nlpOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpOut__8
+  :: Vector MX -> String -> String -> IO (Vector MX)
+nlpOut__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__9" c_nlpOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+nlpOut__9
+  :: Vector SX -> IO (Vector SX)
+nlpOut__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__10" c_nlpOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpOut__10
+  :: Vector SX -> String -> IO (Vector SX)
+nlpOut__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpOut__11" c_nlpOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpOut__11
+  :: Vector SX -> String -> String -> IO (Vector SX)
+nlpOut__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpOut__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__0" c_nlpSolverIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+nlpSolverIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__1" c_nlpSolverIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+nlpSolverIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__2" c_nlpSolverIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+nlpSolverIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__3" c_nlpSolverIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__4" c_nlpSolverIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__5" c_nlpSolverIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__6" c_nlpSolverIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__7" c_nlpSolverIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__8" c_nlpSolverIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverIn__8
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__9" c_nlpSolverIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__9
+  :: Vector DMatrix -> IO (Vector DMatrix)
+nlpSolverIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__10" c_nlpSolverIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__10
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+nlpSolverIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__11" c_nlpSolverIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__11
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+nlpSolverIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__12" c_nlpSolverIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__12
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverIn__12 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__12 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__13" c_nlpSolverIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__13
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverIn__13 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__13 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__14" c_nlpSolverIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__14
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverIn__14 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__14 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__15" c_nlpSolverIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__15
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverIn__15 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__16" c_nlpSolverIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__16
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverIn__16 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__17" c_nlpSolverIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverIn__17
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverIn__17 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__18" c_nlpSolverIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__18
+  :: Vector MX -> IO (Vector MX)
+nlpSolverIn__18 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__18 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__19" c_nlpSolverIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__19
+  :: Vector MX -> String -> IO (Vector MX)
+nlpSolverIn__19 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__19 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__20" c_nlpSolverIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__20
+  :: Vector MX -> String -> String -> IO (Vector MX)
+nlpSolverIn__20 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__20 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__21" c_nlpSolverIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__21
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+nlpSolverIn__21 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__21 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__22" c_nlpSolverIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__22
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+nlpSolverIn__22 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__22 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__23" c_nlpSolverIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__23
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+nlpSolverIn__23 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__23 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__24" c_nlpSolverIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__24
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+nlpSolverIn__24 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__24 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__25" c_nlpSolverIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__25
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+nlpSolverIn__25 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__25 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__26" c_nlpSolverIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverIn__26
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+nlpSolverIn__26 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__27" c_nlpSolverIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__27
+  :: Vector SX -> IO (Vector SX)
+nlpSolverIn__27 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__27 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__28" c_nlpSolverIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__28
+  :: Vector SX -> String -> IO (Vector SX)
+nlpSolverIn__28 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__28 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__29" c_nlpSolverIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__29
+  :: Vector SX -> String -> String -> IO (Vector SX)
+nlpSolverIn__29 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__29 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__30" c_nlpSolverIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__30
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+nlpSolverIn__30 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__30 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__31" c_nlpSolverIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__31
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+nlpSolverIn__31 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__31 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__32" c_nlpSolverIn__32
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__32
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+nlpSolverIn__32 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__32 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__33" c_nlpSolverIn__33
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__33
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+nlpSolverIn__33 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__33 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__34" c_nlpSolverIn__34
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__34
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+nlpSolverIn__34 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__34 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverIn__35" c_nlpSolverIn__35
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverIn__35
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+nlpSolverIn__35 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverIn__35 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__0" c_nlpSolverOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+nlpSolverOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__1" c_nlpSolverOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+nlpSolverOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__2" c_nlpSolverOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+nlpSolverOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__3" c_nlpSolverOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__4" c_nlpSolverOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__5" c_nlpSolverOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverOut__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverOut__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__6" c_nlpSolverOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+nlpSolverOut__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+nlpSolverOut__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__7" c_nlpSolverOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverOut__7
+  :: Vector DMatrix -> IO (Vector DMatrix)
+nlpSolverOut__7 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__7 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__8" c_nlpSolverOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverOut__8
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+nlpSolverOut__8 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__8 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__9" c_nlpSolverOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverOut__9
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+nlpSolverOut__9 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__9 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__10" c_nlpSolverOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverOut__10
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverOut__10 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__10 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__11" c_nlpSolverOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverOut__11
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverOut__11 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__11 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__12" c_nlpSolverOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverOut__12
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverOut__12 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__12 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__13" c_nlpSolverOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+nlpSolverOut__13
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+nlpSolverOut__13 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__13 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__14" c_nlpSolverOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverOut__14
+  :: Vector MX -> IO (Vector MX)
+nlpSolverOut__14 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__14 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__15" c_nlpSolverOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverOut__15
+  :: Vector MX -> String -> IO (Vector MX)
+nlpSolverOut__15 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__15 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__16" c_nlpSolverOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverOut__16
+  :: Vector MX -> String -> String -> IO (Vector MX)
+nlpSolverOut__16 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__16 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__17" c_nlpSolverOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverOut__17
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+nlpSolverOut__17 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__17 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__18" c_nlpSolverOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverOut__18
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+nlpSolverOut__18 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__18 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__19" c_nlpSolverOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverOut__19
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+nlpSolverOut__19 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__19 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__20" c_nlpSolverOut__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+nlpSolverOut__20
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+nlpSolverOut__20 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__21" c_nlpSolverOut__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverOut__21
+  :: Vector SX -> IO (Vector SX)
+nlpSolverOut__21 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__21 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__22" c_nlpSolverOut__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverOut__22
+  :: Vector SX -> String -> IO (Vector SX)
+nlpSolverOut__22 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__22 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__23" c_nlpSolverOut__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverOut__23
+  :: Vector SX -> String -> String -> IO (Vector SX)
+nlpSolverOut__23 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__23 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__24" c_nlpSolverOut__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverOut__24
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+nlpSolverOut__24 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__24 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__25" c_nlpSolverOut__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverOut__25
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+nlpSolverOut__25 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__25 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__26" c_nlpSolverOut__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverOut__26
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+nlpSolverOut__26 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__26 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "nlpSolverOut__27" c_nlpSolverOut__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+nlpSolverOut__27
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+nlpSolverOut__27 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_nlpSolverOut__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "pinv__0" c_pinv__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+pinv__0
+  :: MX -> String -> IO MX
+pinv__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_pinv__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "pinv__1" c_pinv__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+pinv__1
+  :: SX -> IO SX
+pinv__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_pinv__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "pinv__2" c_pinv__2
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr DMatrix')
+pinv__2
+  :: DMatrix -> IO DMatrix
+pinv__2 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_pinv__2 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "pinv__3" c_pinv__3
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr IMatrix')
+pinv__3
+  :: IMatrix -> IO IMatrix
+pinv__3 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_pinv__3 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "pinv__4" c_pinv__4
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr StdString -> IO (Ptr DMatrix')
+pinv__4
+  :: DMatrix -> String -> IO DMatrix
+pinv__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_pinv__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "poly_coeff" c_poly_coeff
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+poly_coeff
+  :: SX -> SX -> IO SX
+poly_coeff x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_poly_coeff errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "poly_roots" c_poly_roots
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+poly_roots
+  :: SX -> IO SX
+poly_roots x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_poly_roots errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "printCompact__0" c_printCompact__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
+printCompact__0
+  :: MX -> IO ()
+printCompact__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_printCompact__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "printCompact__1" c_printCompact__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+printCompact__1
+  :: SX -> IO ()
+printCompact__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_printCompact__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "pw_const" c_pw_const
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+pw_const
+  :: SX -> SX -> SX -> IO SX
+pw_const x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_pw_const errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "pw_lin" c_pw_lin
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+pw_lin
+  :: SX -> SX -> SX -> IO SX
+pw_lin x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_pw_lin errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__0" c_qcqpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+qcqpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__1" c_qcqpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+qcqpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__2" c_qcqpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+qcqpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__3" c_qcqpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__4" c_qcqpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__5" c_qcqpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__6" c_qcqpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__7" c_qcqpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__8" c_qcqpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__8
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__9" c_qcqpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__9
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__10" c_qcqpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__10
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__10 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__10 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__11" c_qcqpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__11
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__11 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__11 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__12" c_qcqpIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpIn__12
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpIn__12 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  withMarshal x12 $ \x12' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__12 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__13" c_qcqpIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__13
+  :: Vector DMatrix -> IO (Vector DMatrix)
+qcqpIn__13 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__13 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__14" c_qcqpIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__14
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+qcqpIn__14 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__14 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__15" c_qcqpIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__15
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+qcqpIn__15 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__15 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__16" c_qcqpIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__16
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__16 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__16 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__17" c_qcqpIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__17
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__17 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__17 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__18" c_qcqpIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__18
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__18 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__19" c_qcqpIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__19
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__19 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__20" c_qcqpIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__20
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__20 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__21" c_qcqpIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__21
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__21 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__21 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__22" c_qcqpIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__22
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__22 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__23" c_qcqpIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__23
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__23 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__24" c_qcqpIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__24
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__24 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__24 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__25" c_qcqpIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpIn__25
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpIn__25 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  withMarshal x12 $ \x12' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__26" c_qcqpIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__26
+  :: Vector MX -> IO (Vector MX)
+qcqpIn__26 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__26 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__27" c_qcqpIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__27
+  :: Vector MX -> String -> IO (Vector MX)
+qcqpIn__27 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__27 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__28" c_qcqpIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__28
+  :: Vector MX -> String -> String -> IO (Vector MX)
+qcqpIn__28 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__28 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__29" c_qcqpIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__29
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+qcqpIn__29 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__29 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__30" c_qcqpIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__30
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__30 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__30 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__31" c_qcqpIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__31
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__31 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__31 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__32" c_qcqpIn__32
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__32
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__32 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__32 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__33" c_qcqpIn__33
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__33
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__33 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__33 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__34" c_qcqpIn__34
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__34
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__34 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__34 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__35" c_qcqpIn__35
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__35
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__35 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__36" c_qcqpIn__36
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__36
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__36 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__37" c_qcqpIn__37
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__37
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__37 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__38" c_qcqpIn__38
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpIn__38
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qcqpIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  withMarshal x12 $ \x12' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__39" c_qcqpIn__39
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__39
+  :: Vector SX -> IO (Vector SX)
+qcqpIn__39 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__39 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__40" c_qcqpIn__40
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__40
+  :: Vector SX -> String -> IO (Vector SX)
+qcqpIn__40 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__40 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__41" c_qcqpIn__41
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__41
+  :: Vector SX -> String -> String -> IO (Vector SX)
+qcqpIn__41 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__41 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__42" c_qcqpIn__42
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__42
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+qcqpIn__42 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__42 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__43" c_qcqpIn__43
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__43
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__43 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__43 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__44" c_qcqpIn__44
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__44
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__44 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__44 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__45" c_qcqpIn__45
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__45
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__45 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__45 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__46" c_qcqpIn__46
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__46
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__46 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__46 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__47" c_qcqpIn__47
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__47
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__47 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__47 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__48" c_qcqpIn__48
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__48
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__48 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__48 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__49" c_qcqpIn__49
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__49
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__49 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__49 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__50" c_qcqpIn__50
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__50
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__50 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__50 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpIn__51" c_qcqpIn__51
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpIn__51
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qcqpIn__51 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  withMarshal x12 $ \x12' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpIn__51 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__0" c_qcqpOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+qcqpOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__1" c_qcqpOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+qcqpOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__2" c_qcqpOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+qcqpOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__3" c_qcqpOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+qcqpOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__4" c_qcqpOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+qcqpOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__5" c_qcqpOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpOut__5
+  :: Vector DMatrix -> IO (Vector DMatrix)
+qcqpOut__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__6" c_qcqpOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpOut__6
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+qcqpOut__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__7" c_qcqpOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpOut__7
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+qcqpOut__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__8" c_qcqpOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpOut__8
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+qcqpOut__8 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__8 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__9" c_qcqpOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qcqpOut__9
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+qcqpOut__9 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__9 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__10" c_qcqpOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+qcqpOut__10
+  :: Vector MX -> IO (Vector MX)
+qcqpOut__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__11" c_qcqpOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpOut__11
+  :: Vector MX -> String -> IO (Vector MX)
+qcqpOut__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__12" c_qcqpOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpOut__12
+  :: Vector MX -> String -> String -> IO (Vector MX)
+qcqpOut__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__13" c_qcqpOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpOut__13
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+qcqpOut__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__14" c_qcqpOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qcqpOut__14
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+qcqpOut__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__15" c_qcqpOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+qcqpOut__15
+  :: Vector SX -> IO (Vector SX)
+qcqpOut__15 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__15 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__16" c_qcqpOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpOut__16
+  :: Vector SX -> String -> IO (Vector SX)
+qcqpOut__16 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__16 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__17" c_qcqpOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpOut__17
+  :: Vector SX -> String -> String -> IO (Vector SX)
+qcqpOut__17 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__17 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__18" c_qcqpOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpOut__18
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+qcqpOut__18 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__18 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpOut__19" c_qcqpOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qcqpOut__19
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+qcqpOut__19 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpOut__19 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpStruct__0" c_qcqpStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+qcqpStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpStruct__1" c_qcqpStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+qcqpStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpStruct__2" c_qcqpStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpStruct__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+qcqpStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qcqpStruct__3" c_qcqpStruct__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qcqpStruct__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+qcqpStruct__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qcqpStruct__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__0" c_qpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+qpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__1" c_qpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+qpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__2" c_qpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+qpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__3" c_qpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+qpIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__4" c_qpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+qpIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__5" c_qpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qpIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__6" c_qpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qpIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__7" c_qpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__8" c_qpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__8
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__9" c_qpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpIn__9
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+qpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__10" c_qpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__10
+  :: Vector DMatrix -> IO (Vector DMatrix)
+qpIn__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__11" c_qpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__11
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+qpIn__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__12" c_qpIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__12
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+qpIn__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__13" c_qpIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__13
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+qpIn__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__14" c_qpIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__14
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+qpIn__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__15" c_qpIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__15
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qpIn__15 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__15 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__16" c_qpIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__16
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qpIn__16 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__17" c_qpIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__17
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qpIn__17 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__18" c_qpIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__18
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qpIn__18 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__19" c_qpIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpIn__19
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+qpIn__19 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__20" c_qpIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__20
+  :: Vector MX -> IO (Vector MX)
+qpIn__20 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__20 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__21" c_qpIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__21
+  :: Vector MX -> String -> IO (Vector MX)
+qpIn__21 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__21 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__22" c_qpIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__22
+  :: Vector MX -> String -> String -> IO (Vector MX)
+qpIn__22 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__22 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__23" c_qpIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__23
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+qpIn__23 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__23 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__24" c_qpIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__24
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+qpIn__24 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__24 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__25" c_qpIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__25
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+qpIn__25 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__26" c_qpIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__26
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qpIn__26 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__27" c_qpIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__27
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qpIn__27 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__28" c_qpIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__28
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qpIn__28 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__28 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__29" c_qpIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpIn__29
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+qpIn__29 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__29 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__30" c_qpIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__30
+  :: Vector SX -> IO (Vector SX)
+qpIn__30 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__30 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__31" c_qpIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__31
+  :: Vector SX -> String -> IO (Vector SX)
+qpIn__31 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__31 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__32" c_qpIn__32
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__32
+  :: Vector SX -> String -> String -> IO (Vector SX)
+qpIn__32 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__32 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__33" c_qpIn__33
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__33
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+qpIn__33 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__33 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__34" c_qpIn__34
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__34
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+qpIn__34 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__34 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__35" c_qpIn__35
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__35
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+qpIn__35 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__36" c_qpIn__36
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__36
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qpIn__36 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__37" c_qpIn__37
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__37
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qpIn__37 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__38" c_qpIn__38
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__38
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qpIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpIn__39" c_qpIn__39
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpIn__39
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+qpIn__39 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpIn__39 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__0" c_qpOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+qpOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__1" c_qpOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+qpOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__2" c_qpOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+qpOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__3" c_qpOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+qpOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__4" c_qpOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+qpOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__5" c_qpOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpOut__5
+  :: Vector DMatrix -> IO (Vector DMatrix)
+qpOut__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__6" c_qpOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpOut__6
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+qpOut__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__7" c_qpOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpOut__7
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+qpOut__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__8" c_qpOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpOut__8
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+qpOut__8 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__8 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__9" c_qpOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+qpOut__9
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+qpOut__9 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__9 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__10" c_qpOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+qpOut__10
+  :: Vector MX -> IO (Vector MX)
+qpOut__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__11" c_qpOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpOut__11
+  :: Vector MX -> String -> IO (Vector MX)
+qpOut__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__12" c_qpOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpOut__12
+  :: Vector MX -> String -> String -> IO (Vector MX)
+qpOut__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__13" c_qpOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpOut__13
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+qpOut__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__14" c_qpOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+qpOut__14
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+qpOut__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__15" c_qpOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+qpOut__15
+  :: Vector SX -> IO (Vector SX)
+qpOut__15 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__15 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__16" c_qpOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpOut__16
+  :: Vector SX -> String -> IO (Vector SX)
+qpOut__16 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__16 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__17" c_qpOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpOut__17
+  :: Vector SX -> String -> String -> IO (Vector SX)
+qpOut__17 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__17 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__18" c_qpOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpOut__18
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+qpOut__18 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__18 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpOut__19" c_qpOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+qpOut__19
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+qpOut__19 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpOut__19 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpStruct__0" c_qpStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+qpStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpStruct__1" c_qpStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+qpStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "qpStruct__2" c_qpStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+qpStruct__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+qpStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_qpStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "ramp" c_ramp
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+ramp
+  :: SX -> IO SX
+ramp x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_ramp errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__0" c_rdaeIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+rdaeIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__1" c_rdaeIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+rdaeIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__2" c_rdaeIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+rdaeIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__3" c_rdaeIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+rdaeIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__4" c_rdaeIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+rdaeIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__5" c_rdaeIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+rdaeIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__6" c_rdaeIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+rdaeIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__7" c_rdaeIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+rdaeIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__8" c_rdaeIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeIn__8
+  :: Vector DMatrix -> IO (Vector DMatrix)
+rdaeIn__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__9" c_rdaeIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeIn__9
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+rdaeIn__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__10" c_rdaeIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeIn__10
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+rdaeIn__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__11" c_rdaeIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeIn__11
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+rdaeIn__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__12" c_rdaeIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeIn__12
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+rdaeIn__12 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__12 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__13" c_rdaeIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeIn__13
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+rdaeIn__13 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__13 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__14" c_rdaeIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeIn__14
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+rdaeIn__14 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__14 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__15" c_rdaeIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeIn__15
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+rdaeIn__15 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__16" c_rdaeIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+rdaeIn__16
+  :: Vector MX -> IO (Vector MX)
+rdaeIn__16 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__16 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__17" c_rdaeIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeIn__17
+  :: Vector MX -> String -> IO (Vector MX)
+rdaeIn__17 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__17 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__18" c_rdaeIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeIn__18
+  :: Vector MX -> String -> String -> IO (Vector MX)
+rdaeIn__18 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__18 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__19" c_rdaeIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeIn__19
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+rdaeIn__19 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__19 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__20" c_rdaeIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeIn__20
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+rdaeIn__20 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__20 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__21" c_rdaeIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeIn__21
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+rdaeIn__21 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__21 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__22" c_rdaeIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeIn__22
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+rdaeIn__22 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__23" c_rdaeIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeIn__23
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+rdaeIn__23 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__24" c_rdaeIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+rdaeIn__24
+  :: Vector SX -> IO (Vector SX)
+rdaeIn__24 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__24 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__25" c_rdaeIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeIn__25
+  :: Vector SX -> String -> IO (Vector SX)
+rdaeIn__25 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__25 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__26" c_rdaeIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeIn__26
+  :: Vector SX -> String -> String -> IO (Vector SX)
+rdaeIn__26 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__26 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__27" c_rdaeIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeIn__27
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+rdaeIn__27 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__27 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__28" c_rdaeIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeIn__28
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+rdaeIn__28 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__28 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__29" c_rdaeIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeIn__29
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+rdaeIn__29 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__29 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__30" c_rdaeIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeIn__30
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+rdaeIn__30 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__30 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeIn__31" c_rdaeIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeIn__31
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+rdaeIn__31 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeIn__31 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__0" c_rdaeOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+rdaeOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__1" c_rdaeOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+rdaeOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__2" c_rdaeOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+rdaeOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__3" c_rdaeOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+rdaeOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+rdaeOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__4" c_rdaeOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeOut__4
+  :: Vector DMatrix -> IO (Vector DMatrix)
+rdaeOut__4 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__4 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__5" c_rdaeOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeOut__5
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+rdaeOut__5 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__5 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__6" c_rdaeOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeOut__6
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+rdaeOut__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__7" c_rdaeOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+rdaeOut__7
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+rdaeOut__7 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__7 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__8" c_rdaeOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+rdaeOut__8
+  :: Vector MX -> IO (Vector MX)
+rdaeOut__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__9" c_rdaeOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeOut__9
+  :: Vector MX -> String -> IO (Vector MX)
+rdaeOut__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__10" c_rdaeOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeOut__10
+  :: Vector MX -> String -> String -> IO (Vector MX)
+rdaeOut__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__11" c_rdaeOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+rdaeOut__11
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+rdaeOut__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__12" c_rdaeOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+rdaeOut__12
+  :: Vector SX -> IO (Vector SX)
+rdaeOut__12 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__12 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__13" c_rdaeOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeOut__13
+  :: Vector SX -> String -> IO (Vector SX)
+rdaeOut__13 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__13 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__14" c_rdaeOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeOut__14
+  :: Vector SX -> String -> String -> IO (Vector SX)
+rdaeOut__14 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__14 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rdaeOut__15" c_rdaeOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+rdaeOut__15
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+rdaeOut__15 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rdaeOut__15 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "rectangle" c_rectangle
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+rectangle
+  :: SX -> IO SX
+rectangle x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_rectangle errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__0" c_sdpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+sdpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__1" c_sdpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+sdpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__2" c_sdpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+sdpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__3" c_sdpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+sdpIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__4" c_sdpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__5" c_sdpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__6" c_sdpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__7" c_sdpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__8" c_sdpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpIn__8
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__9" c_sdpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__9
+  :: Vector DMatrix -> IO (Vector DMatrix)
+sdpIn__9 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__9 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__10" c_sdpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__10
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+sdpIn__10 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__10 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__11" c_sdpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__11
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+sdpIn__11 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__11 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__12" c_sdpIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__12
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+sdpIn__12 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__12 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__13" c_sdpIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__13
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpIn__13 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__13 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__14" c_sdpIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__14
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpIn__14 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__14 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__15" c_sdpIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__15
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpIn__15 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__16" c_sdpIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__16
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpIn__16 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__17" c_sdpIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpIn__17
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpIn__17 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__18" c_sdpIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__18
+  :: Vector MX -> IO (Vector MX)
+sdpIn__18 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__18 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__19" c_sdpIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__19
+  :: Vector MX -> String -> IO (Vector MX)
+sdpIn__19 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__19 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__20" c_sdpIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__20
+  :: Vector MX -> String -> String -> IO (Vector MX)
+sdpIn__20 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__20 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__21" c_sdpIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__21
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+sdpIn__21 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__21 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__22" c_sdpIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__22
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+sdpIn__22 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__22 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__23" c_sdpIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__23
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdpIn__23 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__23 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__24" c_sdpIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__24
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdpIn__24 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__24 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__25" c_sdpIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__25
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdpIn__25 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__26" c_sdpIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpIn__26
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdpIn__26 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__27" c_sdpIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__27
+  :: Vector SX -> IO (Vector SX)
+sdpIn__27 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__27 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__28" c_sdpIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__28
+  :: Vector SX -> String -> IO (Vector SX)
+sdpIn__28 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__28 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__29" c_sdpIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__29
+  :: Vector SX -> String -> String -> IO (Vector SX)
+sdpIn__29 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__29 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__30" c_sdpIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__30
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+sdpIn__30 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__30 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__31" c_sdpIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__31
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+sdpIn__31 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__31 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__32" c_sdpIn__32
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__32
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdpIn__32 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__32 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__33" c_sdpIn__33
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__33
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdpIn__33 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__33 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__34" c_sdpIn__34
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__34
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdpIn__34 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__34 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpIn__35" c_sdpIn__35
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpIn__35
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdpIn__35 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__0" c_sdpOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+sdpOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__1" c_sdpOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+sdpOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__2" c_sdpOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+sdpOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__3" c_sdpOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+sdpOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__4" c_sdpOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__5" c_sdpOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpOut__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpOut__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__6" c_sdpOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpOut__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpOut__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__7" c_sdpOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpOut__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdpOut__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__8" c_sdpOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpOut__8
+  :: Vector DMatrix -> IO (Vector DMatrix)
+sdpOut__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__9" c_sdpOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpOut__9
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+sdpOut__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__10" c_sdpOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpOut__10
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+sdpOut__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__11" c_sdpOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpOut__11
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+sdpOut__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__12" c_sdpOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpOut__12
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpOut__12 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__12 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__13" c_sdpOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpOut__13
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpOut__13 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__13 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__14" c_sdpOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpOut__14
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpOut__14 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__14 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__15" c_sdpOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdpOut__15
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdpOut__15 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__16" c_sdpOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+sdpOut__16
+  :: Vector MX -> IO (Vector MX)
+sdpOut__16 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__16 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__17" c_sdpOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpOut__17
+  :: Vector MX -> String -> IO (Vector MX)
+sdpOut__17 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__17 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__18" c_sdpOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpOut__18
+  :: Vector MX -> String -> String -> IO (Vector MX)
+sdpOut__18 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__18 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__19" c_sdpOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpOut__19
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+sdpOut__19 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__19 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__20" c_sdpOut__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpOut__20
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+sdpOut__20 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__20 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__21" c_sdpOut__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpOut__21
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdpOut__21 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__21 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__22" c_sdpOut__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpOut__22
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdpOut__22 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__23" c_sdpOut__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdpOut__23
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdpOut__23 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__24" c_sdpOut__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+sdpOut__24
+  :: Vector SX -> IO (Vector SX)
+sdpOut__24 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__24 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__25" c_sdpOut__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpOut__25
+  :: Vector SX -> String -> IO (Vector SX)
+sdpOut__25 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__25 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__26" c_sdpOut__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpOut__26
+  :: Vector SX -> String -> String -> IO (Vector SX)
+sdpOut__26 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__26 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__27" c_sdpOut__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpOut__27
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+sdpOut__27 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__27 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__28" c_sdpOut__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpOut__28
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+sdpOut__28 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__28 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__29" c_sdpOut__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpOut__29
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdpOut__29 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__29 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__30" c_sdpOut__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpOut__30
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdpOut__30 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__30 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpOut__31" c_sdpOut__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdpOut__31
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdpOut__31 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpOut__31 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpStruct__0" c_sdpStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+sdpStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpStruct__1" c_sdpStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+sdpStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpStruct__2" c_sdpStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpStruct__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+sdpStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdpStruct__3" c_sdpStruct__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdpStruct__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+sdpStruct__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdpStruct__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__0" c_sdqpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+sdqpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__1" c_sdqpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+sdqpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__2" c_sdqpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+sdqpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__3" c_sdqpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+sdqpIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__4" c_sdqpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__5" c_sdqpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__6" c_sdqpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__7" c_sdqpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__8" c_sdqpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__8
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__9" c_sdqpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpIn__9
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__10" c_sdqpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__10
+  :: Vector DMatrix -> IO (Vector DMatrix)
+sdqpIn__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__11" c_sdqpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__11
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+sdqpIn__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__12" c_sdqpIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__12
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+sdqpIn__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__13" c_sdqpIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__13
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+sdqpIn__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__14" c_sdqpIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__14
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpIn__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__15" c_sdqpIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__15
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpIn__15 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__15 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__16" c_sdqpIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__16
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpIn__16 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__16 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__17" c_sdqpIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__17
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpIn__17 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__18" c_sdqpIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__18
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpIn__18 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__19" c_sdqpIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpIn__19
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpIn__19 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__20" c_sdqpIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__20
+  :: Vector MX -> IO (Vector MX)
+sdqpIn__20 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__20 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__21" c_sdqpIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__21
+  :: Vector MX -> String -> IO (Vector MX)
+sdqpIn__21 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__21 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__22" c_sdqpIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__22
+  :: Vector MX -> String -> String -> IO (Vector MX)
+sdqpIn__22 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__22 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__23" c_sdqpIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__23
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+sdqpIn__23 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__23 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__24" c_sdqpIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__24
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+sdqpIn__24 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__24 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__25" c_sdqpIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__25
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdqpIn__25 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__26" c_sdqpIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__26
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdqpIn__26 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__26 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__27" c_sdqpIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__27
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdqpIn__27 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__27 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__28" c_sdqpIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__28
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdqpIn__28 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__28 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__29" c_sdqpIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpIn__29
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdqpIn__29 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__29 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__30" c_sdqpIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__30
+  :: Vector SX -> IO (Vector SX)
+sdqpIn__30 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__30 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__31" c_sdqpIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__31
+  :: Vector SX -> String -> IO (Vector SX)
+sdqpIn__31 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__31 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__32" c_sdqpIn__32
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__32
+  :: Vector SX -> String -> String -> IO (Vector SX)
+sdqpIn__32 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__32 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__33" c_sdqpIn__33
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__33
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+sdqpIn__33 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__33 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__34" c_sdqpIn__34
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__34
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+sdqpIn__34 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__34 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__35" c_sdqpIn__35
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__35
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdqpIn__35 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__36" c_sdqpIn__36
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__36
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdqpIn__36 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__37" c_sdqpIn__37
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__37
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdqpIn__37 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__38" c_sdqpIn__38
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__38
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdqpIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpIn__39" c_sdqpIn__39
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpIn__39
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdqpIn__39 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpIn__39 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__0" c_sdqpOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+sdqpOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__1" c_sdqpOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+sdqpOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__2" c_sdqpOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+sdqpOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__3" c_sdqpOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+sdqpOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__4" c_sdqpOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__5" c_sdqpOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpOut__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpOut__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__6" c_sdqpOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpOut__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpOut__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__7" c_sdqpOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpOut__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpOut__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__8" c_sdqpOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpOut__8
+  :: Vector DMatrix -> IO (Vector DMatrix)
+sdqpOut__8 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__8 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__9" c_sdqpOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpOut__9
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+sdqpOut__9 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__9 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__10" c_sdqpOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpOut__10
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+sdqpOut__10 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__10 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__11" c_sdqpOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpOut__11
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+sdqpOut__11 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__11 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__12" c_sdqpOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpOut__12
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpOut__12 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__12 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__13" c_sdqpOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpOut__13
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpOut__13 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__13 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__14" c_sdqpOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpOut__14
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpOut__14 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__14 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__15" c_sdqpOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+sdqpOut__15
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+sdqpOut__15 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__15 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__16" c_sdqpOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+sdqpOut__16
+  :: Vector MX -> IO (Vector MX)
+sdqpOut__16 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__16 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__17" c_sdqpOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpOut__17
+  :: Vector MX -> String -> IO (Vector MX)
+sdqpOut__17 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__17 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__18" c_sdqpOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpOut__18
+  :: Vector MX -> String -> String -> IO (Vector MX)
+sdqpOut__18 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__18 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__19" c_sdqpOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpOut__19
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+sdqpOut__19 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__19 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__20" c_sdqpOut__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpOut__20
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+sdqpOut__20 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__20 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__21" c_sdqpOut__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpOut__21
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdqpOut__21 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__21 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__22" c_sdqpOut__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpOut__22
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdqpOut__22 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__23" c_sdqpOut__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+sdqpOut__23
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+sdqpOut__23 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__24" c_sdqpOut__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+sdqpOut__24
+  :: Vector SX -> IO (Vector SX)
+sdqpOut__24 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__24 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__25" c_sdqpOut__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpOut__25
+  :: Vector SX -> String -> IO (Vector SX)
+sdqpOut__25 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__25 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__26" c_sdqpOut__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpOut__26
+  :: Vector SX -> String -> String -> IO (Vector SX)
+sdqpOut__26 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__26 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__27" c_sdqpOut__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpOut__27
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+sdqpOut__27 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__27 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__28" c_sdqpOut__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpOut__28
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+sdqpOut__28 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__28 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__29" c_sdqpOut__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpOut__29
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdqpOut__29 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__29 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__30" c_sdqpOut__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpOut__30
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdqpOut__30 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__30 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpOut__31" c_sdqpOut__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+sdqpOut__31
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+sdqpOut__31 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpOut__31 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpStruct__0" c_sdqpStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+sdqpStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpStruct__1" c_sdqpStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+sdqpStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpStruct__2" c_sdqpStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpStruct__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+sdqpStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpStruct__3" c_sdqpStruct__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpStruct__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+sdqpStruct__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpStruct__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "sdqpStruct__4" c_sdqpStruct__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+sdqpStruct__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+sdqpStruct__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_sdqpStruct__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "simplify__0" c_simplify__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> IO ()
+simplify__0
+  :: MX -> IO ()
+simplify__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_simplify__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "simplify__1" c_simplify__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO ()
+simplify__1
+  :: SX -> IO ()
+simplify__1 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_simplify__1 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__0" c_socpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+socpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__1" c_socpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+socpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__2" c_socpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+socpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__3" c_socpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+socpIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__4" c_socpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+socpIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__5" c_socpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+socpIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__6" c_socpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+socpIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__7" c_socpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+socpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__8" c_socpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__8
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+socpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__9" c_socpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__9
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+socpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__10" c_socpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpIn__10
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+socpIn__10 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__10 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__11" c_socpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__11
+  :: Vector DMatrix -> IO (Vector DMatrix)
+socpIn__11 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__11 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__12" c_socpIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__12
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+socpIn__12 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__12 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__13" c_socpIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__13
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+socpIn__13 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__13 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__14" c_socpIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__14
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+socpIn__14 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__14 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__15" c_socpIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__15
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+socpIn__15 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__15 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__16" c_socpIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__16
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+socpIn__16 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__16 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__17" c_socpIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__17
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+socpIn__17 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__17 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__18" c_socpIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__18
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+socpIn__18 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__19" c_socpIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__19
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+socpIn__19 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__20" c_socpIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__20
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+socpIn__20 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__21" c_socpIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpIn__21
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+socpIn__21 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__21 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__22" c_socpIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__22
+  :: Vector MX -> IO (Vector MX)
+socpIn__22 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__22 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__23" c_socpIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__23
+  :: Vector MX -> String -> IO (Vector MX)
+socpIn__23 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__23 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__24" c_socpIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__24
+  :: Vector MX -> String -> String -> IO (Vector MX)
+socpIn__24 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__24 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__25" c_socpIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__25
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+socpIn__25 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__25 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__26" c_socpIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__26
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+socpIn__26 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__26 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__27" c_socpIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__27
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+socpIn__27 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__27 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__28" c_socpIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__28
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+socpIn__28 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__28 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__29" c_socpIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__29
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+socpIn__29 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__29 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__30" c_socpIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__30
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+socpIn__30 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__30 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__31" c_socpIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__31
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+socpIn__31 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__31 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__32" c_socpIn__32
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpIn__32
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+socpIn__32 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__32 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__33" c_socpIn__33
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__33
+  :: Vector SX -> IO (Vector SX)
+socpIn__33 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__33 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__34" c_socpIn__34
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__34
+  :: Vector SX -> String -> IO (Vector SX)
+socpIn__34 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__34 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__35" c_socpIn__35
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__35
+  :: Vector SX -> String -> String -> IO (Vector SX)
+socpIn__35 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__35 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__36" c_socpIn__36
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__36
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+socpIn__36 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__36 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__37" c_socpIn__37
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__37
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+socpIn__37 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__37 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__38" c_socpIn__38
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__38
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+socpIn__38 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__39" c_socpIn__39
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__39
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+socpIn__39 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__39 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__40" c_socpIn__40
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__40
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+socpIn__40 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__40 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__41" c_socpIn__41
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__41
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+socpIn__41 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__41 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__42" c_socpIn__42
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__42
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+socpIn__42 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__42 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpIn__43" c_socpIn__43
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpIn__43
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+socpIn__43 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpIn__43 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__0" c_socpOut__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpOut__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+socpOut__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__1" c_socpOut__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpOut__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+socpOut__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__2" c_socpOut__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpOut__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+socpOut__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__3" c_socpOut__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpOut__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+socpOut__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__4" c_socpOut__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpOut__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+socpOut__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__5" c_socpOut__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpOut__5
+  :: Vector DMatrix -> IO (Vector DMatrix)
+socpOut__5 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__5 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__6" c_socpOut__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpOut__6
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+socpOut__6 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__6 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__7" c_socpOut__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpOut__7
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+socpOut__7 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__7 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__8" c_socpOut__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpOut__8
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+socpOut__8 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__8 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__9" c_socpOut__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+socpOut__9
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+socpOut__9 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__9 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__10" c_socpOut__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+socpOut__10
+  :: Vector MX -> IO (Vector MX)
+socpOut__10 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__10 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__11" c_socpOut__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpOut__11
+  :: Vector MX -> String -> IO (Vector MX)
+socpOut__11 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__11 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__12" c_socpOut__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpOut__12
+  :: Vector MX -> String -> String -> IO (Vector MX)
+socpOut__12 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__12 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__13" c_socpOut__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpOut__13
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+socpOut__13 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__13 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__14" c_socpOut__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+socpOut__14
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+socpOut__14 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__14 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__15" c_socpOut__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+socpOut__15
+  :: Vector SX -> IO (Vector SX)
+socpOut__15 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__15 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__16" c_socpOut__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpOut__16
+  :: Vector SX -> String -> IO (Vector SX)
+socpOut__16 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__16 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__17" c_socpOut__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpOut__17
+  :: Vector SX -> String -> String -> IO (Vector SX)
+socpOut__17 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__17 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__18" c_socpOut__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpOut__18
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+socpOut__18 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__18 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpOut__19" c_socpOut__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+socpOut__19
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+socpOut__19 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpOut__19 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpStruct__0" c_socpStruct__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpStruct__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+socpStruct__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpStruct__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpStruct__1" c_socpStruct__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpStruct__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+socpStruct__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpStruct__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "socpStruct__2" c_socpStruct__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+socpStruct__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+socpStruct__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_socpStruct__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "solve__0" c_solve__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+solve__0
+  :: MX -> MX -> IO MX
+solve__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_solve__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "solve__1" c_solve__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr StdString -> IO (Ptr MX')
+solve__1
+  :: MX -> MX -> String -> IO MX
+solve__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_solve__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "solve__2" c_solve__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+solve__2
+  :: SX -> SX -> IO SX
+solve__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_solve__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "solve__3" c_solve__3
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
+solve__3
+  :: DMatrix -> DMatrix -> IO DMatrix
+solve__3 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_solve__3 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "solve__4" c_solve__4
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
+solve__4
+  :: IMatrix -> IMatrix -> IO IMatrix
+solve__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_solve__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "solve__5" c_solve__5
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> Ptr DMatrix' -> Ptr StdString -> IO (Ptr DMatrix')
+solve__5
+  :: DMatrix -> DMatrix -> String -> IO DMatrix
+solve__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_solve__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "spy" c_spy
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+spy
+  :: SX -> IO SX
+spy x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_spy errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__0" c_stabilizedQpIn__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__0
+  :: Vector Sparsity -> IO (Vector Sparsity)
+stabilizedQpIn__0 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__0 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__1" c_stabilizedQpIn__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__1
+  :: Vector Sparsity -> String -> IO (Vector Sparsity)
+stabilizedQpIn__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__2" c_stabilizedQpIn__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__2
+  :: Vector Sparsity -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__3" c_stabilizedQpIn__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__3
+  :: Vector Sparsity -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__3 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__3 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__4" c_stabilizedQpIn__4
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__4
+  :: Vector Sparsity -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__4 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__4 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__5" c_stabilizedQpIn__5
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__5
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__5 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__5 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__6" c_stabilizedQpIn__6
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__6
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__6 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__6 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__7" c_stabilizedQpIn__7
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__7
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__7 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__7 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__8" c_stabilizedQpIn__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__8
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__8 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__8 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__9" c_stabilizedQpIn__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__9
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__9 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__9 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__10" c_stabilizedQpIn__10
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__10
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__10 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__10 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__11" c_stabilizedQpIn__11
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__11
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__11 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__11 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__12" c_stabilizedQpIn__12
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr Sparsity')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr Sparsity')))
+stabilizedQpIn__12
+  :: Vector Sparsity -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector Sparsity)
+stabilizedQpIn__12 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  withMarshal x12 $ \x12' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__12 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__13" c_stabilizedQpIn__13
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__13
+  :: Vector DMatrix -> IO (Vector DMatrix)
+stabilizedQpIn__13 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__13 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__14" c_stabilizedQpIn__14
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__14
+  :: Vector DMatrix -> String -> IO (Vector DMatrix)
+stabilizedQpIn__14 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__14 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__15" c_stabilizedQpIn__15
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__15
+  :: Vector DMatrix -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__15 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__15 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__16" c_stabilizedQpIn__16
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__16
+  :: Vector DMatrix -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__16 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__16 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__17" c_stabilizedQpIn__17
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__17
+  :: Vector DMatrix -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__17 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__17 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__18" c_stabilizedQpIn__18
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__18
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__18 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__18 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__19" c_stabilizedQpIn__19
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__19
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__19 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__19 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__20" c_stabilizedQpIn__20
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__20
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__20 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__20 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__21" c_stabilizedQpIn__21
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__21
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__21 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__21 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__22" c_stabilizedQpIn__22
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__22
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__22 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__22 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__23" c_stabilizedQpIn__23
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__23
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__23 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__23 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__24" c_stabilizedQpIn__24
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__24
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__24 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__24 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__25" c_stabilizedQpIn__25
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr DMatrix')))
+stabilizedQpIn__25
+  :: Vector DMatrix -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector DMatrix)
+stabilizedQpIn__25 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  withMarshal x12 $ \x12' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__25 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__26" c_stabilizedQpIn__26
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__26
+  :: Vector MX -> IO (Vector MX)
+stabilizedQpIn__26 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__26 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__27" c_stabilizedQpIn__27
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__27
+  :: Vector MX -> String -> IO (Vector MX)
+stabilizedQpIn__27 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__27 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__28" c_stabilizedQpIn__28
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__28
+  :: Vector MX -> String -> String -> IO (Vector MX)
+stabilizedQpIn__28 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__28 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__29" c_stabilizedQpIn__29
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__29
+  :: Vector MX -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__29 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__29 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__30" c_stabilizedQpIn__30
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__30
+  :: Vector MX -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__30 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__30 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__31" c_stabilizedQpIn__31
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__31
+  :: Vector MX -> String -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__31 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__31 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__32" c_stabilizedQpIn__32
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__32
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__32 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__32 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__33" c_stabilizedQpIn__33
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__33
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__33 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__33 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__34" c_stabilizedQpIn__34
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__34
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__34 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__34 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__35" c_stabilizedQpIn__35
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__35
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__35 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__35 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__36" c_stabilizedQpIn__36
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__36
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__36 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__36 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__37" c_stabilizedQpIn__37
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__37
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__37 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__37 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__38" c_stabilizedQpIn__38
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
+stabilizedQpIn__38
+  :: Vector MX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector MX)
+stabilizedQpIn__38 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  withMarshal x12 $ \x12' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__38 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__39" c_stabilizedQpIn__39
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__39
+  :: Vector SX -> IO (Vector SX)
+stabilizedQpIn__39 x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__39 errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__40" c_stabilizedQpIn__40
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__40
+  :: Vector SX -> String -> IO (Vector SX)
+stabilizedQpIn__40 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__40 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__41" c_stabilizedQpIn__41
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__41
+  :: Vector SX -> String -> String -> IO (Vector SX)
+stabilizedQpIn__41 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__41 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__42" c_stabilizedQpIn__42
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__42
+  :: Vector SX -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__42 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__42 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__43" c_stabilizedQpIn__43
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__43
+  :: Vector SX -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__43 x0 x1 x2 x3 x4 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__43 errStrPtrP x0' x1' x2' x3' x4'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__44" c_stabilizedQpIn__44
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__44
+  :: Vector SX -> String -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__44 x0 x1 x2 x3 x4 x5 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__44 errStrPtrP x0' x1' x2' x3' x4' x5'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__45" c_stabilizedQpIn__45
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__45
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__45 x0 x1 x2 x3 x4 x5 x6 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__45 errStrPtrP x0' x1' x2' x3' x4' x5' x6'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__46" c_stabilizedQpIn__46
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__46
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__46 x0 x1 x2 x3 x4 x5 x6 x7 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__46 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__47" c_stabilizedQpIn__47
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__47
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__47 x0 x1 x2 x3 x4 x5 x6 x7 x8 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__47 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__48" c_stabilizedQpIn__48
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__48
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__48 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__48 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__49" c_stabilizedQpIn__49
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__49
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__49 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__49 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__50" c_stabilizedQpIn__50
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__50
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__50 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__50 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "stabilizedQpIn__51" c_stabilizedQpIn__51
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> Ptr StdString -> IO (Ptr (StdVec (Ptr SX')))
+stabilizedQpIn__51
+  :: Vector SX -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO (Vector SX)
+stabilizedQpIn__51 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  withMarshal x4 $ \x4' ->
+  withMarshal x5 $ \x5' ->
+  withMarshal x6 $ \x6' ->
+  withMarshal x7 $ \x7' ->
+  withMarshal x8 $ \x8' ->
+  withMarshal x9 $ \x9' ->
+  withMarshal x10 $ \x10' ->
+  withMarshal x11 $ \x11' ->
+  withMarshal x12 $ \x12' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_stabilizedQpIn__51 errStrPtrP x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substitute__0" c_substitute__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
+substitute__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
+substitute__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substitute__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substitute__1" c_substitute__1
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+substitute__1
+  :: MX -> MX -> MX -> IO MX
+substitute__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substitute__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substitute__2" c_substitute__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr (StdVec (Ptr SX')))
+substitute__2
+  :: Vector SX -> Vector SX -> Vector SX -> IO (Vector SX)
+substitute__2 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substitute__2 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substitute__3" c_substitute__3
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+substitute__3
+  :: SX -> SX -> SX -> IO SX
+substitute__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substitute__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__0" c_substituteInPlace__0
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
+substituteInPlace__0
+  :: Vector MX -> Vector MX -> Vector MX -> IO ()
+substituteInPlace__0 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__0 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__1" c_substituteInPlace__1
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> CInt -> IO ()
+substituteInPlace__1
+  :: Vector MX -> Vector MX -> Vector MX -> Bool -> IO ()
+substituteInPlace__1 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__1 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__2" c_substituteInPlace__2
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> IO ()
+substituteInPlace__2
+  :: Vector MX -> Vector MX -> IO ()
+substituteInPlace__2 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__2 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__3" c_substituteInPlace__3
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr MX')) -> Ptr (StdVec (Ptr MX')) -> CInt -> IO ()
+substituteInPlace__3
+  :: Vector MX -> Vector MX -> Bool -> IO ()
+substituteInPlace__3 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__3 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__4" c_substituteInPlace__4
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO ()
+substituteInPlace__4
+  :: SX -> SX -> IO ()
+substituteInPlace__4 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__4 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__5" c_substituteInPlace__5
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> CInt -> IO ()
+substituteInPlace__5
+  :: SX -> SX -> Bool -> IO ()
+substituteInPlace__5 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__5 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__6" c_substituteInPlace__6
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec (Ptr SX')) -> IO ()
+substituteInPlace__6
+  :: SX -> SX -> Vector SX -> IO ()
+substituteInPlace__6 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__6 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__7" c_substituteInPlace__7
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr (StdVec (Ptr SX')) -> CInt -> IO ()
+substituteInPlace__7
+  :: SX -> SX -> Vector SX -> Bool -> IO ()
+substituteInPlace__7 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__7 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__8" c_substituteInPlace__8
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> IO ()
+substituteInPlace__8
+  :: Vector SX -> Vector SX -> Vector SX -> IO ()
+substituteInPlace__8 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__8 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "substituteInPlace__9" c_substituteInPlace__9
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> Ptr (StdVec (Ptr SX')) -> CInt -> IO ()
+substituteInPlace__9
+  :: Vector SX -> Vector SX -> Vector SX -> Bool -> IO ()
+substituteInPlace__9 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_substituteInPlace__9 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "tangent__0" c_tangent__0
+  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
+tangent__0
+  :: MX -> MX -> IO MX
+tangent__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_tangent__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "tangent__1" c_tangent__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+tangent__1
+  :: SX -> SX -> IO SX
+tangent__1 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_tangent__1 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "taylor__0" c_taylor__0
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+taylor__0
+  :: SX -> SX -> IO SX
+taylor__0 x0 x1 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_taylor__0 errStrPtrP x0' x1'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "taylor__1" c_taylor__1
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
+taylor__1
+  :: SX -> SX -> SX -> IO SX
+taylor__1 x0 x1 x2 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_taylor__1 errStrPtrP x0' x1' x2'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "taylor__2" c_taylor__2
+  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
+taylor__2
+  :: SX -> SX -> SX -> Int -> IO SX
+taylor__2 x0 x1 x2 x3 =
+  withMarshal x0 $ \x0' ->
+  withMarshal x1 $ \x1' ->
+  withMarshal x2 $ \x2' ->
+  withMarshal x3 $ \x3' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_taylor__2 errStrPtrP x0' x1' x2' x3'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+foreign import ccall unsafe "triangle" c_triangle
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr SX')
+triangle
+  :: SX -> IO SX
+triangle x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_triangle errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
diff --git a/casadi-bindings-core.cabal b/casadi-bindings-core.cabal
--- a/casadi-bindings-core.cabal
+++ b/casadi-bindings-core.cabal
@@ -1,5 +1,5 @@
 name:                casadi-bindings-core
-version:             2.1.3.0
+version:             2.2.0.0
 license:             LGPL-3
 license-file:        LICENSE
 category:            Numerical, Math
@@ -8,7 +8,7 @@
 maintainer:          gregmainland@gmail.com
 build-type:          Simple
 cabal-version:       >=1.10
-synopsis:            low level bindings to casadi-core
+synopsis:            autogenerated low level bindings to casadi
 description:         see <http://hackage.haskell.org/package/casadi-bindings http://hackage.haskell.org/package/casadi-bindings> for all instructions
 extra-source-files:  cbits/marshal.hpp
 extra-tmp-files:     Casadi/Callback_stub.h
@@ -16,26 +16,27 @@
 library
   build-depends:       base >=4.6 && <5,
                        vector >=0.10,
-
-                       casadi-bindings-internal == 0.1.1
+                       casadi-bindings-internal == 0.1.2
 
   default-language:    Haskell2010
 
 
   extra-libraries:  stdc++
 
-  pkgconfig-depends: casadi_core
+  pkgconfig-depends: casadi
 
   ghc-prof-options: -prof -fprof-auto -fprof-cafs -rtsopts
   ghc-options: 
   cc-options: -Wall -Wno-sign-compare
 
-  C-sources:        cbits/autogen/core_classes.cpp
-                    cbits/autogen/core_functions.cpp
+  C-sources:        cbits/custom_wrappers.cpp
+                    cbits/autogen/casadi_wrap_classes.cpp
+                    cbits/autogen/casadi_wrap_functions.cpp
 
   exposed-modules:  Casadi.Core.Data
                     Casadi.Core.Enums
                     Casadi.Core.Tools
+                    Casadi.Core.CustomWrappers
                     Casadi.Core.Classes.Callback
                     Casadi.Core.Classes.CasadiMeta
                     Casadi.Core.Classes.CasadiOptions
diff --git a/cbits/autogen/casadi_wrap_classes.cpp b/cbits/autogen/casadi_wrap_classes.cpp
new file mode 100644
# file too large to diff: cbits/autogen/casadi_wrap_classes.cpp
diff --git a/cbits/autogen/casadi_wrap_functions.cpp b/cbits/autogen/casadi_wrap_functions.cpp
new file mode 100644
--- /dev/null
+++ b/cbits/autogen/casadi_wrap_functions.cpp
@@ -0,0 +1,31907 @@
+#include <casadi/casadi.hpp>
+#include <cmath>
+#include <stdexcept>
+#include "../marshal.hpp"
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::cleIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* cleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::cleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* cleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::cleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* cleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* cleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::cleIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* cleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* cleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::cleIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* cleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::cleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* cleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* cleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::cleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* cleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::cleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* cleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* cleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::cleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* cleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::cleIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* cleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* cleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::cleIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* cleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::cleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* cleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* cleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::cleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* cleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::cleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* cleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* cleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::cleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* cleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::cleIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* cleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* cleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::cleIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* cleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::cleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* cleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* cleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::cleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleIn" ===============
+// cppName: "casadi::cleIn"
+// cWrapperName: "cleIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* cleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::cleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* cleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* cleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::cleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleOut" ===============
+// cppName: "casadi::cleOut"
+// cWrapperName: "cleOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::cleOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* cleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleOut" ===============
+// cppName: "casadi::cleOut"
+// cWrapperName: "cleOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::cleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* cleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleOut" ===============
+// cppName: "casadi::cleOut"
+// cWrapperName: "cleOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* cleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::cleOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* cleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* cleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::cleOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleOut" ===============
+// cppName: "casadi::cleOut"
+// cWrapperName: "cleOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* cleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::cleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* cleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* cleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::cleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleOut" ===============
+// cppName: "casadi::cleOut"
+// cWrapperName: "cleOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* cleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::cleOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* cleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* cleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::cleOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleOut" ===============
+// cppName: "casadi::cleOut"
+// cWrapperName: "cleOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* cleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::cleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* cleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* cleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::cleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleOut" ===============
+// cppName: "casadi::cleOut"
+// cWrapperName: "cleOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* cleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::cleOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* cleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* cleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::cleOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleOut" ===============
+// cppName: "casadi::cleOut"
+// cWrapperName: "cleOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* cleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::cleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* cleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* cleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::cleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleStruct" ===============
+// cppName: "casadi::cleStruct"
+// cWrapperName: "cleStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::cleStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* cleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleStruct" ===============
+// cppName: "casadi::cleStruct"
+// cWrapperName: "cleStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::cleStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* cleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleStruct" ===============
+// cppName: "casadi::cleStruct"
+// cWrapperName: "cleStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::cleStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* cleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::cleStruct" ===============
+// cppName: "casadi::cleStruct"
+// cWrapperName: "cleStruct__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* cleStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::cleStruct(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* cleStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* cleStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::cleStruct(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::collocationPoints" ===============
+// cppName: "casadi::collocationPoints"
+// cWrapperName: "collocationPoints__0"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// params: [CInt]
+// retType: StdVec CDouble
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >* collocationPoints__0(std::string ** err_msg, int x0)"
+// call: "casadi::collocationPoints(x0_)"
+extern "C"
+std::vector< double >* collocationPoints__0(std::string ** err_msg, int x0);
+std::vector< double >* collocationPoints__0(std::string ** err_msg, int x0){
+    try {
+        int x0_ = Marshaling<int,int>::marshal(x0);
+
+        std::vector< double > ret = casadi::collocationPoints(x0_);
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::collocationPoints" ===============
+// cppName: "casadi::collocationPoints"
+// cWrapperName: "collocationPoints__1"
+// protoArgs: "(std::string ** err_msg, int x0, std::string* x1)"
+// params: [CInt,Ref (Const StdString)]
+// retType: StdVec CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >* collocationPoints__1(std::string ** err_msg, int x0, std::string* x1)"
+// call: "casadi::collocationPoints(x0_, x1_)"
+extern "C"
+std::vector< double >* collocationPoints__1(std::string ** err_msg, int x0, std::string* x1);
+std::vector< double >* collocationPoints__1(std::string ** err_msg, int x0, std::string* x1){
+    try {
+        int x0_ = Marshaling<int,int>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< double > ret = casadi::collocationPoints(x0_, x1_);
+        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::complement" ===============
+// cppName: "casadi::complement"
+// cWrapperName: "complement"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, int x1)"
+// params: [Ref (Const (StdVec CInt)),CInt]
+// retType: StdVec CInt
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* complement(std::string ** err_msg, std::vector< int >* x0, int x1)"
+// call: "casadi::complement(x0_, x1_)"
+extern "C"
+std::vector< int >* complement(std::string ** err_msg, std::vector< int >* x0, int x1);
+std::vector< int >* complement(std::string ** err_msg, std::vector< int >* x0, int x1){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+
+        std::vector< int > ret = casadi::complement(x0_, x1_);
+        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::controldaeIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* controldaeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::controldaeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* controldaeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* controldaeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* controldaeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* controldaeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* controldaeIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* controldaeIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* controldaeIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::Sparsity* >* controldaeIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controldaeIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controldaeIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::Sparsity* >* controldaeIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::Sparsity > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::controldaeIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* controldaeIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::controldaeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* controldaeIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* controldaeIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* controldaeIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* controldaeIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* controldaeIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* controldaeIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* controldaeIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::DMatrix* >* controldaeIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controldaeIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controldaeIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::DMatrix* >* controldaeIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::DMatrix > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::controldaeIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* controldaeIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::controldaeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* controldaeIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* controldaeIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* controldaeIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* controldaeIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* controldaeIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* controldaeIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* controldaeIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::MX* >* controldaeIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controldaeIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::MX* >* controldaeIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::MX* >* controldaeIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::MX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::controldaeIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* controldaeIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::controldaeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* controldaeIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__32"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* controldaeIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__33"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* controldaeIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__34"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* controldaeIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__35"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* controldaeIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__36"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* controldaeIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__37"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* controldaeIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__38"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::SX* >* controldaeIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controldaeIn" ===============
+// cppName: "casadi::controldaeIn"
+// cWrapperName: "controldaeIn__39"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controldaeIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::SX* >* controldaeIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::SX* >* controldaeIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::SX > ret = casadi::controldaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controlsimulatorIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::controlsimulatorIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controlsimulatorIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* controlsimulatorIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::controlsimulatorIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controlsimulatorIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::controlsimulatorIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controlsimulatorIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* controlsimulatorIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::controlsimulatorIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controlsimulatorIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::controlsimulatorIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controlsimulatorIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* controlsimulatorIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::controlsimulatorIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* controlsimulatorIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::controlsimulatorIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* controlsimulatorIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* controlsimulatorIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::controlsimulatorIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controlsimulatorIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::controlsimulatorIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controlsimulatorIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* controlsimulatorIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::controlsimulatorIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controlsimulatorIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::controlsimulatorIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controlsimulatorIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* controlsimulatorIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::controlsimulatorIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controlsimulatorIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::controlsimulatorIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controlsimulatorIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* controlsimulatorIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::controlsimulatorIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* controlsimulatorIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::controlsimulatorIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* controlsimulatorIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* controlsimulatorIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::controlsimulatorIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controlsimulatorIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::controlsimulatorIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* controlsimulatorIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* controlsimulatorIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::controlsimulatorIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controlsimulatorIn__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::controlsimulatorIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* controlsimulatorIn__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* controlsimulatorIn__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::controlsimulatorIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controlsimulatorIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::controlsimulatorIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* controlsimulatorIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* controlsimulatorIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::controlsimulatorIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* controlsimulatorIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::controlsimulatorIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* controlsimulatorIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* controlsimulatorIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::controlsimulatorIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controlsimulatorIn__12(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::controlsimulatorIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* controlsimulatorIn__12(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* controlsimulatorIn__12(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::controlsimulatorIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controlsimulatorIn__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::controlsimulatorIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* controlsimulatorIn__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* controlsimulatorIn__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::controlsimulatorIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controlsimulatorIn__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::controlsimulatorIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* controlsimulatorIn__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* controlsimulatorIn__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::controlsimulatorIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::controlsimulatorIn" ===============
+// cppName: "casadi::controlsimulatorIn"
+// cWrapperName: "controlsimulatorIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* controlsimulatorIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::controlsimulatorIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* controlsimulatorIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* controlsimulatorIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::controlsimulatorIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::countNodes" ===============
+// cppName: "casadi::countNodes"
+// cWrapperName: "countNodes__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: CInt
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int countNodes__0(std::string ** err_msg, casadi::MX* x0)"
+// call: "casadi::countNodes(x0_)"
+extern "C"
+int countNodes__0(std::string ** err_msg, casadi::MX* x0);
+int countNodes__0(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+
+        int ret = casadi::countNodes(x0_);
+        return WrapReturn< int, int >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::countNodes" ===============
+// cppName: "casadi::countNodes"
+// cWrapperName: "countNodes__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: CInt
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int countNodes__1(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::countNodes(x0_)"
+extern "C"
+int countNodes__1(std::string ** err_msg, casadi::SX* x0);
+int countNodes__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        int ret = casadi::countNodes(x0_);
+        return WrapReturn< int, int >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::createParent" ===============
+// cppName: "casadi::createParent"
+// cWrapperName: "createParent__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::vector< casadi::MX* >* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* createParent__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::vector< casadi::MX* >* x1)"
+// call: "casadi::createParent(x0_, x1_)"
+extern "C"
+casadi::MX* createParent__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::vector< casadi::MX* >* x1);
+casadi::MX* createParent__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::vector< casadi::MX* >* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
+
+        casadi::MX ret = casadi::createParent(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::createParent" ===============
+// cppName: "casadi::createParent"
+// cWrapperName: "createParent__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* createParent__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
+// call: "casadi::createParent(x0_, x1_)"
+extern "C"
+casadi::MX* createParent__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1);
+casadi::MX* createParent__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1){
+    try {
+        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::MX ret = casadi::createParent(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::createParent" ===============
+// cppName: "casadi::createParent"
+// cWrapperName: "createParent__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* createParent__2(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::createParent(x0_)"
+extern "C"
+casadi::MX* createParent__2(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+casadi::MX* createParent__2(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        casadi::MX ret = casadi::createParent(x0_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::daeIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* daeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::daeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* daeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::daeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* daeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::daeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* daeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::daeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* daeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::daeIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* daeIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::daeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* daeIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::daeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* daeIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::daeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* daeIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::daeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* daeIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::daeIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* daeIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* daeIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::daeIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::daeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* daeIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* daeIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::daeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::daeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* daeIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* daeIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::daeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::daeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* daeIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* daeIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::daeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::daeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* daeIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* daeIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::daeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::daeIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* daeIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* daeIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::daeIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::daeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* daeIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* daeIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::daeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::daeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* daeIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* daeIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::daeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::daeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* daeIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* daeIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::daeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeIn" ===============
+// cppName: "casadi::daeIn"
+// cWrapperName: "daeIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::daeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* daeIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* daeIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::daeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::daeOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* daeOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::daeOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* daeOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::daeOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* daeOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* daeOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::daeOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* daeOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* daeOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::daeOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::daeOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* daeOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::daeOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* daeOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::daeOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* daeOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* daeOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::daeOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* daeOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* daeOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::daeOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::daeOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* daeOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* daeOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::daeOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::daeOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* daeOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* daeOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::daeOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::daeOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* daeOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* daeOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::daeOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* daeOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::daeOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* daeOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* daeOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::daeOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::daeOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* daeOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* daeOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::daeOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::daeOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* daeOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* daeOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::daeOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::daeOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* daeOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* daeOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::daeOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::daeOut" ===============
+// cppName: "casadi::daeOut"
+// cWrapperName: "daeOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* daeOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::daeOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* daeOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* daeOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::daeOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dependsOn" ===============
+// cppName: "casadi::dependsOn"
+// cWrapperName: "dependsOn__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int dependsOn__0(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// call: "casadi::dependsOn(x0_, x1_)"
+extern "C"
+int dependsOn__0(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1);
+int dependsOn__0(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1){
+    try {
+        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);
+
+        bool ret = casadi::dependsOn(x0_, x1_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dependsOn" ===============
+// cppName: "casadi::dependsOn"
+// cWrapperName: "dependsOn__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: CBool
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int dependsOn__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::dependsOn(x0_, x1_)"
+extern "C"
+int dependsOn__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+int dependsOn__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        bool ret = casadi::dependsOn(x0_, x1_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::dleIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* dleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::dleIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::dleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* dleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::dleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* dleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::dleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::dleIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* dleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::dleIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::dleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* dleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::dleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* dleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::dleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::dleIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* dleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* dleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::dleIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::dleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* dleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* dleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::dleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* dleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* dleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::dleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::dleIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* dleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* dleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::dleIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::dleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* dleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* dleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::dleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleIn" ===============
+// cppName: "casadi::dleIn"
+// cWrapperName: "dleIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* dleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* dleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::dleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleOut" ===============
+// cppName: "casadi::dleOut"
+// cWrapperName: "dleOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::dleOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* dleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::dleOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleOut" ===============
+// cppName: "casadi::dleOut"
+// cWrapperName: "dleOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::dleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* dleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::dleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleOut" ===============
+// cppName: "casadi::dleOut"
+// cWrapperName: "dleOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::dleOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* dleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::dleOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleOut" ===============
+// cppName: "casadi::dleOut"
+// cWrapperName: "dleOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::dleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* dleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::dleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleOut" ===============
+// cppName: "casadi::dleOut"
+// cWrapperName: "dleOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::dleOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* dleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* dleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::dleOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleOut" ===============
+// cppName: "casadi::dleOut"
+// cWrapperName: "dleOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::dleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* dleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* dleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::dleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleOut" ===============
+// cppName: "casadi::dleOut"
+// cWrapperName: "dleOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::dleOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* dleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* dleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::dleOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleOut" ===============
+// cppName: "casadi::dleOut"
+// cWrapperName: "dleOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::dleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* dleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* dleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::dleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleStruct" ===============
+// cppName: "casadi::dleStruct"
+// cWrapperName: "dleStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::dleStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* dleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::dleStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleStruct" ===============
+// cppName: "casadi::dleStruct"
+// cWrapperName: "dleStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::dleStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* dleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::dleStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dleStruct" ===============
+// cppName: "casadi::dleStruct"
+// cWrapperName: "dleStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dleStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* dleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::dleStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dpleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::dpleIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dpleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* dpleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::dpleIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dpleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::dpleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dpleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* dpleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::dpleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dpleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dpleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dpleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* dpleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::dpleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dpleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::dpleIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dpleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* dpleIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::dpleIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dpleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::dpleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dpleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* dpleIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::dpleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dpleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dpleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dpleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* dpleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::dpleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dpleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::dpleIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* dpleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* dpleIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::dpleIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dpleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::dpleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* dpleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* dpleIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::dpleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dpleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dpleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* dpleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* dpleIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::dpleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dpleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::dpleIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* dpleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* dpleIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::dpleIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dpleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::dpleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* dpleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* dpleIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::dpleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleIn" ===============
+// cppName: "casadi::dpleIn"
+// cWrapperName: "dpleIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dpleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dpleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* dpleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* dpleIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::dpleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleOut" ===============
+// cppName: "casadi::dpleOut"
+// cWrapperName: "dpleOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dpleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::dpleOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dpleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* dpleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::dpleOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleOut" ===============
+// cppName: "casadi::dpleOut"
+// cWrapperName: "dpleOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* dpleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::dpleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* dpleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* dpleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::dpleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleOut" ===============
+// cppName: "casadi::dpleOut"
+// cWrapperName: "dpleOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dpleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::dpleOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dpleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* dpleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::dpleOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleOut" ===============
+// cppName: "casadi::dpleOut"
+// cWrapperName: "dpleOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* dpleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::dpleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* dpleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* dpleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::dpleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleOut" ===============
+// cppName: "casadi::dpleOut"
+// cWrapperName: "dpleOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dpleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::dpleOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* dpleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* dpleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::dpleOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleOut" ===============
+// cppName: "casadi::dpleOut"
+// cWrapperName: "dpleOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* dpleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::dpleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* dpleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* dpleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::dpleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleOut" ===============
+// cppName: "casadi::dpleOut"
+// cWrapperName: "dpleOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dpleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::dpleOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* dpleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* dpleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::dpleOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleOut" ===============
+// cppName: "casadi::dpleOut"
+// cWrapperName: "dpleOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* dpleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::dpleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* dpleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* dpleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::dpleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleStruct" ===============
+// cppName: "casadi::dpleStruct"
+// cWrapperName: "dpleStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0)"
+// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))))]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__0(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0)"
+// call: "casadi::dpleStruct(x0_)"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__0(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0);
+std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__0(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0){
+    try {
+        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = casadi::dpleStruct(x0_);
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleStruct" ===============
+// cppName: "casadi::dpleStruct"
+// cWrapperName: "dpleStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),Ref (Const StdString)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__1(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1)"
+// call: "casadi::dpleStruct(x0_, x1_)"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__1(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1);
+std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__1(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1){
+    try {
+        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = casadi::dpleStruct(x0_, x1_);
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::dpleStruct" ===============
+// cppName: "casadi::dpleStruct"
+// cWrapperName: "dpleStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__2(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::dpleStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__2(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2);
+std::vector< std::vector< casadi::Sparsity* >* >* dpleStruct__2(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = casadi::dpleStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::eig_symbolic" ===============
+// cppName: "casadi::eig_symbolic"
+// cWrapperName: "eig_symbolic"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* eig_symbolic(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::eig_symbolic(x0_)"
+extern "C"
+casadi::SX* eig_symbolic(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* eig_symbolic(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::eig_symbolic(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::evalf" ===============
+// cppName: "casadi::evalf"
+// cWrapperName: "evalf__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::DMatrix* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* evalf__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::DMatrix* x2)"
+// call: "casadi::evalf(x0_, x1_, x2_)"
+extern "C"
+casadi::DMatrix* evalf__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::DMatrix* x2);
+casadi::DMatrix* evalf__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::DMatrix* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::DMatrix x2_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x2);
+
+        casadi::DMatrix ret = casadi::evalf(x0_, x1_, x2_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::evalf" ===============
+// cppName: "casadi::evalf"
+// cWrapperName: "evalf__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* evalf__1(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::evalf(x0_)"
+extern "C"
+casadi::DMatrix* evalf__1(std::string ** err_msg, casadi::SX* x0);
+casadi::DMatrix* evalf__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::DMatrix ret = casadi::evalf(x0_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::expand" ===============
+// cppName: "casadi::expand"
+// cWrapperName: "expand"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (UserType (Namespace ["casadi"]) (Name "SX")),Ref (UserType (Namespace ["casadi"]) (Name "SX"))]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void expand(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "casadi::expand(x0_, x1_, x2_)"
+extern "C"
+void expand(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+void expand(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+
+        casadi::expand(x0_, x1_, x2_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::explicitRK" ===============
+// cppName: "casadi::explicitRK"
+// cWrapperName: "explicitRK__0"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
+// params: [Ref (UserType (Namespace ["casadi"]) (Name "Function"))]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function* explicitRK__0(std::string ** err_msg, casadi::Function* x0)"
+// call: "casadi::explicitRK(x0_)"
+extern "C"
+casadi::Function* explicitRK__0(std::string ** err_msg, casadi::Function* x0);
+casadi::Function* explicitRK__0(std::string ** err_msg, casadi::Function* x0){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+
+        casadi::Function ret = casadi::explicitRK(x0_);
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::explicitRK" ===============
+// cppName: "casadi::explicitRK"
+// cWrapperName: "explicitRK__1"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1)"
+// params: [Ref (UserType (Namespace ["casadi"]) (Name "Function")),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function* explicitRK__1(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1)"
+// call: "casadi::explicitRK(x0_, x1_)"
+extern "C"
+casadi::Function* explicitRK__1(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1);
+casadi::Function* explicitRK__1(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+
+        casadi::Function ret = casadi::explicitRK(x0_, x1_);
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::explicitRK" ===============
+// cppName: "casadi::explicitRK"
+// cWrapperName: "explicitRK__2"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1, int x2)"
+// params: [Ref (UserType (Namespace ["casadi"]) (Name "Function")),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CInt]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function* explicitRK__2(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1, int x2)"
+// call: "casadi::explicitRK(x0_, x1_, x2_)"
+extern "C"
+casadi::Function* explicitRK__2(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1, int x2);
+casadi::Function* explicitRK__2(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1, int x2){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+        int x2_ = Marshaling<int,int>::marshal(x2);
+
+        casadi::Function ret = casadi::explicitRK(x0_, x1_, x2_);
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::explicitRK" ===============
+// cppName: "casadi::explicitRK"
+// cWrapperName: "explicitRK__3"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1, int x2, int x3)"
+// params: [Ref (UserType (Namespace ["casadi"]) (Name "Function")),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),CInt,CInt]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function* explicitRK__3(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1, int x2, int x3)"
+// call: "casadi::explicitRK(x0_, x1_, x2_, x3_)"
+extern "C"
+casadi::Function* explicitRK__3(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1, int x2, int x3);
+casadi::Function* explicitRK__3(std::string ** err_msg, casadi::Function* x0, casadi::MX* x1, int x2, int x3){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::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);
+
+        casadi::Function ret = casadi::explicitRK(x0_, x1_, x2_, x3_);
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::extractShared" ===============
+// cppName: "casadi::extractShared"
+// cWrapperName: "extractShared__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void extractShared__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// call: "casadi::extractShared(x0_, x1_, x2_)"
+extern "C"
+void extractShared__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+void extractShared__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        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_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::extractShared" ===============
+// cppName: "casadi::extractShared"
+// cWrapperName: "extractShared__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::string* x3)"
+// params: [Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void extractShared__1(std::string ** err_msg, 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 extractShared__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::string* x3);
+void extractShared__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::string* x3){
+    try {
+        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);
+
+        casadi::extractShared(x0_, x1_, x2_, x3_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::extractShared" ===============
+// cppName: "casadi::extractShared"
+// cWrapperName: "extractShared__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::string* x3, std::string* x4)"
+// params: [Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString),Ref (Const StdString)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void extractShared__2(std::string ** err_msg, 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 extractShared__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::string* x3, std::string* x4);
+void extractShared__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::string* x3, std::string* x4){
+    try {
+        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);
+
+        casadi::extractShared(x0_, x1_, x2_, x3_, x4_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::extractShared" ===============
+// cppName: "casadi::extractShared"
+// cWrapperName: "extractShared__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// params: [Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void extractShared__3(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// call: "casadi::extractShared(x0_, x1_, x2_)"
+extern "C"
+void extractShared__3(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
+void extractShared__3(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
+    try {
+        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_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::extractShared" ===============
+// cppName: "casadi::extractShared"
+// cWrapperName: "extractShared__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::string* x3)"
+// params: [Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const StdString)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void extractShared__4(std::string ** err_msg, 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 extractShared__4(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::string* x3);
+void extractShared__4(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::string* x3){
+    try {
+        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);
+
+        casadi::extractShared(x0_, x1_, x2_, x3_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::extractShared" ===============
+// cppName: "casadi::extractShared"
+// cWrapperName: "extractShared__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::string* x3, std::string* x4)"
+// params: [Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const StdString),Ref (Const StdString)]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void extractShared__5(std::string ** err_msg, 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 extractShared__5(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::string* x3, std::string* x4);
+void extractShared__5(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::string* x3, std::string* x4){
+    try {
+        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);
+
+        casadi::extractShared(x0_, x1_, x2_, x3_, x4_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::gauss_quadrature" ===============
+// cppName: "casadi::gauss_quadrature"
+// cWrapperName: "gauss_quadrature__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// call: "casadi::gauss_quadrature(x0_, x1_, x2_, x3_)"
+extern "C"
+casadi::SX* gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
+casadi::SX* gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+        casadi::SX x3_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x3);
+
+        casadi::SX ret = casadi::gauss_quadrature(x0_, x1_, x2_, x3_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gauss_quadrature" ===============
+// cppName: "casadi::gauss_quadrature"
+// cWrapperName: "gauss_quadrature__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CInt]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4)"
+// call: "casadi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+casadi::SX* gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4);
+casadi::SX* gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+        casadi::SX x3_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x3);
+        int x4_ = Marshaling<int,int>::marshal(x4);
+
+        casadi::SX ret = casadi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gauss_quadrature" ===============
+// cppName: "casadi::gauss_quadrature"
+// cWrapperName: "gauss_quadrature__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4, casadi::SX* x5)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CInt,Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4, casadi::SX* x5)"
+// call: "casadi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+casadi::SX* gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4, casadi::SX* x5);
+casadi::SX* gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, int x4, casadi::SX* x5){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+        casadi::SX x3_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x3);
+        int x4_ = Marshaling<int,int>::marshal(x4);
+        casadi::SX x5_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x5);
+
+        casadi::SX ret = casadi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getFree" ===============
+// cppName: "casadi::getFree"
+// cWrapperName: "getFree"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* getFree(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::getFree(x0_)"
+extern "C"
+casadi::SX* getFree(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* getFree(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::getFree(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getOperatorRepresentation" ===============
+// cppName: "casadi::getOperatorRepresentation"
+// cWrapperName: "getOperatorRepresentation__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec StdString))]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* getOperatorRepresentation__0(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1)"
+// call: "casadi::getOperatorRepresentation(x0_, x1_)"
+extern "C"
+std::string* getOperatorRepresentation__0(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1);
+std::string* getOperatorRepresentation__0(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1){
+    try {
+        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);
+
+        std::string ret = casadi::getOperatorRepresentation(x0_, x1_);
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getOperatorRepresentation" ===============
+// cppName: "casadi::getOperatorRepresentation"
+// cWrapperName: "getOperatorRepresentation__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (StdVec StdString))]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* getOperatorRepresentation__1(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1)"
+// call: "casadi::getOperatorRepresentation(x0_, x1_)"
+extern "C"
+std::string* getOperatorRepresentation__1(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1);
+std::string* getOperatorRepresentation__1(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1){
+    try {
+        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);
+
+        std::string ret = casadi::getOperatorRepresentation(x0_, x1_);
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSchemeEntryDoc" ===============
+// cppName: "casadi::getSchemeEntryDoc"
+// cWrapperName: "getSchemeEntryDoc"
+// protoArgs: "(std::string ** err_msg, int x0, int x1)"
+// params: [CEnum (Namespace ["casadi"]) (Name "InputOutputScheme"),CInt]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* getSchemeEntryDoc(std::string ** err_msg, int x0, int x1)"
+// call: "casadi::getSchemeEntryDoc(x0_, x1_)"
+extern "C"
+std::string* getSchemeEntryDoc(std::string ** err_msg, int x0, int x1);
+std::string* getSchemeEntryDoc(std::string ** err_msg, int x0, int x1){
+    try {
+        casadi::InputOutputScheme x0_ = Marshaling<casadi::InputOutputScheme,int>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+
+        std::string ret = casadi::getSchemeEntryDoc(x0_, x1_);
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSchemeEntryEnum" ===============
+// cppName: "casadi::getSchemeEntryEnum"
+// cWrapperName: "getSchemeEntryEnum"
+// protoArgs: "(std::string ** err_msg, int x0, std::string* x1)"
+// params: [CEnum (Namespace ["casadi"]) (Name "InputOutputScheme"),Ref (Const StdString)]
+// retType: CInt
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int getSchemeEntryEnum(std::string ** err_msg, int x0, std::string* x1)"
+// call: "casadi::getSchemeEntryEnum(x0_, x1_)"
+extern "C"
+int getSchemeEntryEnum(std::string ** err_msg, int x0, std::string* x1);
+int getSchemeEntryEnum(std::string ** err_msg, int x0, std::string* x1){
+    try {
+        casadi::InputOutputScheme x0_ = Marshaling<casadi::InputOutputScheme,int>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        int ret = casadi::getSchemeEntryEnum(x0_, x1_);
+        return WrapReturn< int, int >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSchemeEntryEnumName" ===============
+// cppName: "casadi::getSchemeEntryEnumName"
+// cWrapperName: "getSchemeEntryEnumName"
+// protoArgs: "(std::string ** err_msg, int x0, int x1)"
+// params: [CEnum (Namespace ["casadi"]) (Name "InputOutputScheme"),CInt]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* getSchemeEntryEnumName(std::string ** err_msg, int x0, int x1)"
+// call: "casadi::getSchemeEntryEnumName(x0_, x1_)"
+extern "C"
+std::string* getSchemeEntryEnumName(std::string ** err_msg, int x0, int x1);
+std::string* getSchemeEntryEnumName(std::string ** err_msg, int x0, int x1){
+    try {
+        casadi::InputOutputScheme x0_ = Marshaling<casadi::InputOutputScheme,int>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+
+        std::string ret = casadi::getSchemeEntryEnumName(x0_, x1_);
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSchemeEntryName" ===============
+// cppName: "casadi::getSchemeEntryName"
+// cWrapperName: "getSchemeEntryName"
+// protoArgs: "(std::string ** err_msg, int x0, int x1)"
+// params: [CEnum (Namespace ["casadi"]) (Name "InputOutputScheme"),CInt]
+// retType: StdString
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* getSchemeEntryName(std::string ** err_msg, int x0, int x1)"
+// call: "casadi::getSchemeEntryName(x0_, x1_)"
+extern "C"
+std::string* getSchemeEntryName(std::string ** err_msg, int x0, int x1);
+std::string* getSchemeEntryName(std::string ** err_msg, int x0, int x1){
+    try {
+        casadi::InputOutputScheme x0_ = Marshaling<casadi::InputOutputScheme,int>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+
+        std::string ret = casadi::getSchemeEntryName(x0_, x1_);
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSchemeEntryNames" ===============
+// cppName: "casadi::getSchemeEntryNames"
+// cWrapperName: "getSchemeEntryNames"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// params: [CEnum (Namespace ["casadi"]) (Name "InputOutputScheme")]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* getSchemeEntryNames(std::string ** err_msg, int x0)"
+// call: "casadi::getSchemeEntryNames(x0_)"
+extern "C"
+std::string* getSchemeEntryNames(std::string ** err_msg, int x0);
+std::string* getSchemeEntryNames(std::string ** err_msg, int x0){
+    try {
+        casadi::InputOutputScheme x0_ = Marshaling<casadi::InputOutputScheme,int>::marshal(x0);
+
+        std::string ret = casadi::getSchemeEntryNames(x0_);
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSchemeName" ===============
+// cppName: "casadi::getSchemeName"
+// cWrapperName: "getSchemeName"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// params: [CEnum (Namespace ["casadi"]) (Name "InputOutputScheme")]
+// retType: StdString
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* getSchemeName(std::string ** err_msg, int x0)"
+// call: "casadi::getSchemeName(x0_)"
+extern "C"
+std::string* getSchemeName(std::string ** err_msg, int x0);
+std::string* getSchemeName(std::string ** err_msg, int x0){
+    try {
+        casadi::InputOutputScheme x0_ = Marshaling<casadi::InputOutputScheme,int>::marshal(x0);
+
+        std::string ret = casadi::getSchemeName(x0_);
+        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSchemeSize" ===============
+// cppName: "casadi::getSchemeSize"
+// cWrapperName: "getSchemeSize"
+// protoArgs: "(std::string ** err_msg, int x0)"
+// params: [CEnum (Namespace ["casadi"]) (Name "InputOutputScheme")]
+// retType: CInt
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int getSchemeSize(std::string ** err_msg, int x0)"
+// call: "casadi::getSchemeSize(x0_)"
+extern "C"
+int getSchemeSize(std::string ** err_msg, int x0);
+int getSchemeSize(std::string ** err_msg, int x0){
+    try {
+        casadi::InputOutputScheme x0_ = Marshaling<casadi::InputOutputScheme,int>::marshal(x0);
+
+        int ret = casadi::getSchemeSize(x0_);
+        return WrapReturn< int, int >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSymbols" ===============
+// cppName: "casadi::getSymbols"
+// cWrapperName: "getSymbols__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* getSymbols__0(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::getSymbols(x0_)"
+extern "C"
+std::vector< casadi::MX* >* getSymbols__0(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* getSymbols__0(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::getSymbols(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSymbols" ===============
+// cppName: "casadi::getSymbols"
+// cWrapperName: "getSymbols__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* getSymbols__1(std::string ** err_msg, casadi::MX* x0)"
+// call: "casadi::getSymbols(x0_)"
+extern "C"
+std::vector< casadi::MX* >* getSymbols__1(std::string ** err_msg, casadi::MX* x0);
+std::vector< casadi::MX* >* getSymbols__1(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::getSymbols(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::getSymbols" ===============
+// cppName: "casadi::getSymbols"
+// cWrapperName: "getSymbols__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* getSymbols__2(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::getSymbols(x0_)"
+extern "C"
+casadi::SX* getSymbols__2(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* getSymbols__2(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::getSymbols(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* gradFIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::gradFIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* gradFIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* gradFIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::gradFIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* gradFIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::gradFIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* gradFIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* gradFIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::gradFIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* gradFIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::gradFIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* gradFIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* gradFIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::gradFIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* gradFIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::gradFIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* gradFIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* gradFIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::gradFIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* gradFIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::gradFIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* gradFIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* gradFIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::gradFIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* gradFIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::gradFIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* gradFIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* gradFIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::gradFIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* gradFIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::gradFIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* gradFIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* gradFIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::gradFIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* gradFIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::gradFIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* gradFIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* gradFIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::gradFIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* gradFIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::gradFIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* gradFIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* gradFIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::gradFIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* gradFIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::gradFIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* gradFIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* gradFIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::gradFIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* gradFIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::gradFIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* gradFIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* gradFIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::gradFIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFIn" ===============
+// cppName: "casadi::gradFIn"
+// cWrapperName: "gradFIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* gradFIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::gradFIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* gradFIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* gradFIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::gradFIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* gradFOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::gradFOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* gradFOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* gradFOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::gradFOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* gradFOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::gradFOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* gradFOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* gradFOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::gradFOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* gradFOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::gradFOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* gradFOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* gradFOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::gradFOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* gradFOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::gradFOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* gradFOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* gradFOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::gradFOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* gradFOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::gradFOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* gradFOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* gradFOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::gradFOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* gradFOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::gradFOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* gradFOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* gradFOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::gradFOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* gradFOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::gradFOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* gradFOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* gradFOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::gradFOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* gradFOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::gradFOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* gradFOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* gradFOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::gradFOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* gradFOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::gradFOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* gradFOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* gradFOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::gradFOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* gradFOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::gradFOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* gradFOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* gradFOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::gradFOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* gradFOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::gradFOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* gradFOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* gradFOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::gradFOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* gradFOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::gradFOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* gradFOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* gradFOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::gradFOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* gradFOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::gradFOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* gradFOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* gradFOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::gradFOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* gradFOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::gradFOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* gradFOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* gradFOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::gradFOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* gradFOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::gradFOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* gradFOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* gradFOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::gradFOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradFOut" ===============
+// cppName: "casadi::gradFOut"
+// cWrapperName: "gradFOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* gradFOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::gradFOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* gradFOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* gradFOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::gradFOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradient" ===============
+// cppName: "casadi::gradient"
+// cWrapperName: "gradient__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* gradient__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// call: "casadi::gradient(x0_, x1_)"
+extern "C"
+casadi::MX* gradient__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX* gradient__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = casadi::gradient(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::gradient" ===============
+// cppName: "casadi::gradient"
+// cWrapperName: "gradient__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* gradient__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::gradient(x0_, x1_)"
+extern "C"
+casadi::SX* gradient__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* gradient__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::gradient(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::graph_substitute" ===============
+// cppName: "casadi::graph_substitute"
+// cWrapperName: "graph_substitute__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* graph_substitute__0(std::string ** err_msg, 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* >* graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+std::vector< casadi::MX* >* graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        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::vector< casadi::MX > ret = casadi::graph_substitute(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::graph_substitute" ===============
+// cppName: "casadi::graph_substitute"
+// cWrapperName: "graph_substitute__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// call: "casadi::graph_substitute(x0_, x1_, x2_)"
+extern "C"
+casadi::MX* graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+casadi::MX* graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        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);
+
+        casadi::MX ret = casadi::graph_substitute(x0_, x1_, x2_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::heaviside" ===============
+// cppName: "casadi::heaviside"
+// cWrapperName: "heaviside"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* heaviside(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::heaviside(x0_)"
+extern "C"
+casadi::SX* heaviside(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* heaviside(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::heaviside(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::hessLagIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* hessLagIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::hessLagIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* hessLagIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* hessLagIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* hessLagIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* hessLagIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::hessLagIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* hessLagIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::hessLagIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* hessLagIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* hessLagIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* hessLagIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* hessLagIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::hessLagIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* hessLagIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::hessLagIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::hessLagIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* hessLagIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::hessLagIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* hessLagIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::hessLagIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* hessLagIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::hessLagIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* hessLagIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::hessLagIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::hessLagIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* hessLagIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::hessLagIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::hessLagIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* hessLagIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::hessLagIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* hessLagIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::hessLagIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* hessLagIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::hessLagIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagIn" ===============
+// cppName: "casadi::hessLagIn"
+// cWrapperName: "hessLagIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::hessLagIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* hessLagIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::hessLagIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::hessLagOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* hessLagOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::hessLagOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* hessLagOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* hessLagOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* hessLagOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* hessLagOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hessLagOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hessLagOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* hessLagOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::hessLagOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* hessLagOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::hessLagOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* hessLagOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* hessLagOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* hessLagOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* hessLagOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hessLagOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hessLagOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* hessLagOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::hessLagOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* hessLagOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::hessLagOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::hessLagOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* hessLagOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::hessLagOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* hessLagOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::hessLagOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* hessLagOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* hessLagOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hessLagOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* hessLagOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* hessLagOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::hessLagOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* hessLagOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::hessLagOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::hessLagOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* hessLagOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::hessLagOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagOut__20(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagOut__20(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* hessLagOut__20(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::hessLagOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* hessLagOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* hessLagOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessLagOut" ===============
+// cppName: "casadi::hessLagOut"
+// cWrapperName: "hessLagOut__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hessLagOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* hessLagOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* hessLagOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::hessLagOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hessian" ===============
+// cppName: "casadi::hessian"
+// cWrapperName: "hessian__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (UserType (Namespace ["casadi"]) (Name "SX")),Ref (UserType (Namespace ["casadi"]) (Name "SX"))]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
+// call: "casadi::hessian(x0_, x1_, x2_, x3_)"
+extern "C"
+void hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
+void hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+        casadi::SX x3_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x3);
+
+        casadi::hessian(x0_, x1_, x2_, x3_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::hessian" ===============
+// cppName: "casadi::hessian"
+// cWrapperName: "hessian__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* hessian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::hessian(x0_, x1_)"
+extern "C"
+casadi::SX* hessian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* hessian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::hessian(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hnlpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::hnlpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hnlpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* hnlpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::hnlpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hnlpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::hnlpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hnlpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* hnlpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::hnlpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hnlpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hnlpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hnlpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* hnlpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::hnlpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* hnlpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hnlpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* hnlpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* hnlpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::hnlpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hnlpIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::hnlpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hnlpIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* hnlpIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::hnlpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hnlpIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::hnlpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hnlpIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* hnlpIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::hnlpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hnlpIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hnlpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hnlpIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* hnlpIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::hnlpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* hnlpIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hnlpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* hnlpIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* hnlpIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::hnlpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hnlpIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::hnlpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* hnlpIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* hnlpIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::hnlpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hnlpIn__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::hnlpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* hnlpIn__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* hnlpIn__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::hnlpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hnlpIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hnlpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* hnlpIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* hnlpIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::hnlpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* hnlpIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hnlpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* hnlpIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* hnlpIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::hnlpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hnlpIn__12(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::hnlpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* hnlpIn__12(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* hnlpIn__12(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::hnlpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hnlpIn__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::hnlpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* hnlpIn__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* hnlpIn__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::hnlpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hnlpIn__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::hnlpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* hnlpIn__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* hnlpIn__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::hnlpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::hnlpIn" ===============
+// cppName: "casadi::hnlpIn"
+// cWrapperName: "hnlpIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* hnlpIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::hnlpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* hnlpIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* hnlpIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::hnlpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::if_else" ===============
+// cppName: "casadi::if_else"
+// cWrapperName: "if_else__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* if_else__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// call: "casadi::if_else(x0_, x1_, x2_)"
+extern "C"
+casadi::MX* if_else__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX* if_else__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        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);
+
+        casadi::MX ret = casadi::if_else(x0_, x1_, x2_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::if_else" ===============
+// cppName: "casadi::if_else"
+// cWrapperName: "if_else__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "casadi::if_else(x0_, x1_, x2_)"
+extern "C"
+casadi::SX* if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX* if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::if_else(x0_, x1_, x2_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::implicitRK" ===============
+// cppName: "casadi::implicitRK"
+// cWrapperName: "implicitRK"
+// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
+// params: [Ref (UserType (Namespace ["casadi"]) (Name "Function")),Ref (Const StdString)]
+// retType: UserType (Namespace ["casadi"]) (Name "Function")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::Function*"
+// proto: "casadi::Function* implicitRK(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
+// call: "casadi::implicitRK(x0_, x1_)"
+extern "C"
+casadi::Function* implicitRK(std::string ** err_msg, casadi::Function* x0, std::string* x1);
+casadi::Function* implicitRK(std::string ** err_msg, casadi::Function* x0, std::string* x1){
+    try {
+        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        casadi::Function ret = casadi::implicitRK(x0_, x1_);
+        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::integratorIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* integratorIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::integratorIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* integratorIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::integratorIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* integratorIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* integratorIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* integratorIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* integratorIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* integratorIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::integratorIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* integratorIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::integratorIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* integratorIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::integratorIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* integratorIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* integratorIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* integratorIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* integratorIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* integratorIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::integratorIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* integratorIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* integratorIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::integratorIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorIn__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::integratorIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* integratorIn__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* integratorIn__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::integratorIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::integratorIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* integratorIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* integratorIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::integratorIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* integratorIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* integratorIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::integratorIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* integratorIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* integratorIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* integratorIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* integratorIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* integratorIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* integratorIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorIn__21(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::integratorIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* integratorIn__21(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* integratorIn__21(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::integratorIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorIn__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::integratorIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* integratorIn__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* integratorIn__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::integratorIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorIn__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::integratorIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* integratorIn__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* integratorIn__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::integratorIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* integratorIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* integratorIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::integratorIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* integratorIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* integratorIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* integratorIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* integratorIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorIn" ===============
+// cppName: "casadi::integratorIn"
+// cWrapperName: "integratorIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* integratorIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* integratorIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::integratorIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::integratorOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* integratorOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::integratorOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* integratorOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::integratorOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* integratorOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* integratorOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* integratorOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* integratorOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* integratorOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* integratorOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* integratorOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::integratorOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* integratorOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::integratorOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* integratorOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::integratorOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* integratorOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* integratorOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* integratorOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* integratorOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* integratorOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* integratorOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* integratorOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::integratorOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* integratorOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* integratorOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::integratorOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::integratorOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* integratorOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* integratorOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::integratorOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::integratorOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* integratorOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* integratorOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::integratorOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* integratorOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* integratorOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::integratorOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* integratorOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* integratorOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* integratorOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* integratorOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* integratorOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* integratorOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* integratorOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::integratorOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* integratorOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* integratorOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::integratorOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::integratorOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* integratorOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* integratorOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::integratorOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::integratorOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* integratorOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* integratorOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::integratorOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* integratorOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* integratorOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::integratorOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* integratorOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* integratorOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* integratorOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* integratorOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::integratorOut" ===============
+// cppName: "casadi::integratorOut"
+// cWrapperName: "integratorOut__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* integratorOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* integratorOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* integratorOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::integratorOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isDecreasing" ===============
+// cppName: "casadi::isDecreasing"
+// cWrapperName: "isDecreasing__0"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// params: [Ref (Const (StdVec CDouble))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isDecreasing__0(std::string ** err_msg, std::vector< double >* x0)"
+// call: "casadi::isDecreasing(x0_)"
+extern "C"
+int isDecreasing__0(std::string ** err_msg, std::vector< double >* x0);
+int isDecreasing__0(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        bool ret = casadi::isDecreasing(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isDecreasing" ===============
+// cppName: "casadi::isDecreasing"
+// cWrapperName: "isDecreasing__1"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// params: [Ref (Const (StdVec CInt))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isDecreasing__1(std::string ** err_msg, std::vector< int >* x0)"
+// call: "casadi::isDecreasing(x0_)"
+extern "C"
+int isDecreasing__1(std::string ** err_msg, std::vector< int >* x0);
+int isDecreasing__1(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+        bool ret = casadi::isDecreasing(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isIncreasing" ===============
+// cppName: "casadi::isIncreasing"
+// cWrapperName: "isIncreasing__0"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// params: [Ref (Const (StdVec CDouble))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isIncreasing__0(std::string ** err_msg, std::vector< double >* x0)"
+// call: "casadi::isIncreasing(x0_)"
+extern "C"
+int isIncreasing__0(std::string ** err_msg, std::vector< double >* x0);
+int isIncreasing__0(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        bool ret = casadi::isIncreasing(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isIncreasing" ===============
+// cppName: "casadi::isIncreasing"
+// cWrapperName: "isIncreasing__1"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// params: [Ref (Const (StdVec CInt))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isIncreasing__1(std::string ** err_msg, std::vector< int >* x0)"
+// call: "casadi::isIncreasing(x0_)"
+extern "C"
+int isIncreasing__1(std::string ** err_msg, std::vector< int >* x0);
+int isIncreasing__1(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+        bool ret = casadi::isIncreasing(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isMonotone" ===============
+// cppName: "casadi::isMonotone"
+// cWrapperName: "isMonotone__0"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// params: [Ref (Const (StdVec CDouble))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isMonotone__0(std::string ** err_msg, std::vector< double >* x0)"
+// call: "casadi::isMonotone(x0_)"
+extern "C"
+int isMonotone__0(std::string ** err_msg, std::vector< double >* x0);
+int isMonotone__0(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        bool ret = casadi::isMonotone(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isMonotone" ===============
+// cppName: "casadi::isMonotone"
+// cWrapperName: "isMonotone__1"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// params: [Ref (Const (StdVec CInt))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isMonotone__1(std::string ** err_msg, std::vector< int >* x0)"
+// call: "casadi::isMonotone(x0_)"
+extern "C"
+int isMonotone__1(std::string ** err_msg, std::vector< int >* x0);
+int isMonotone__1(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+        bool ret = casadi::isMonotone(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isNonDecreasing" ===============
+// cppName: "casadi::isNonDecreasing"
+// cWrapperName: "isNonDecreasing__0"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// params: [Ref (Const (StdVec CDouble))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isNonDecreasing__0(std::string ** err_msg, std::vector< double >* x0)"
+// call: "casadi::isNonDecreasing(x0_)"
+extern "C"
+int isNonDecreasing__0(std::string ** err_msg, std::vector< double >* x0);
+int isNonDecreasing__0(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        bool ret = casadi::isNonDecreasing(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isNonDecreasing" ===============
+// cppName: "casadi::isNonDecreasing"
+// cWrapperName: "isNonDecreasing__1"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// params: [Ref (Const (StdVec CInt))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isNonDecreasing__1(std::string ** err_msg, std::vector< int >* x0)"
+// call: "casadi::isNonDecreasing(x0_)"
+extern "C"
+int isNonDecreasing__1(std::string ** err_msg, std::vector< int >* x0);
+int isNonDecreasing__1(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+        bool ret = casadi::isNonDecreasing(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isNonIncreasing" ===============
+// cppName: "casadi::isNonIncreasing"
+// cWrapperName: "isNonIncreasing__0"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// params: [Ref (Const (StdVec CDouble))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isNonIncreasing__0(std::string ** err_msg, std::vector< double >* x0)"
+// call: "casadi::isNonIncreasing(x0_)"
+extern "C"
+int isNonIncreasing__0(std::string ** err_msg, std::vector< double >* x0);
+int isNonIncreasing__0(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        bool ret = casadi::isNonIncreasing(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isNonIncreasing" ===============
+// cppName: "casadi::isNonIncreasing"
+// cWrapperName: "isNonIncreasing__1"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// params: [Ref (Const (StdVec CInt))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isNonIncreasing__1(std::string ** err_msg, std::vector< int >* x0)"
+// call: "casadi::isNonIncreasing(x0_)"
+extern "C"
+int isNonIncreasing__1(std::string ** err_msg, std::vector< int >* x0);
+int isNonIncreasing__1(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+        bool ret = casadi::isNonIncreasing(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isRegular" ===============
+// cppName: "casadi::isRegular"
+// cWrapperName: "isRegular__0"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// params: [Ref (Const (StdVec CDouble))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isRegular__0(std::string ** err_msg, std::vector< double >* x0)"
+// call: "casadi::isRegular(x0_)"
+extern "C"
+int isRegular__0(std::string ** err_msg, std::vector< double >* x0);
+int isRegular__0(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        bool ret = casadi::isRegular(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isRegular" ===============
+// cppName: "casadi::isRegular"
+// cWrapperName: "isRegular__1"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// params: [Ref (Const (StdVec CInt))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isRegular__1(std::string ** err_msg, std::vector< int >* x0)"
+// call: "casadi::isRegular(x0_)"
+extern "C"
+int isRegular__1(std::string ** err_msg, std::vector< int >* x0);
+int isRegular__1(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+        bool ret = casadi::isRegular(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isStrictlyMonotone" ===============
+// cppName: "casadi::isStrictlyMonotone"
+// cWrapperName: "isStrictlyMonotone__0"
+// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
+// params: [Ref (Const (StdVec CDouble))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isStrictlyMonotone__0(std::string ** err_msg, std::vector< double >* x0)"
+// call: "casadi::isStrictlyMonotone(x0_)"
+extern "C"
+int isStrictlyMonotone__0(std::string ** err_msg, std::vector< double >* x0);
+int isStrictlyMonotone__0(std::string ** err_msg, std::vector< double >* x0){
+    try {
+        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+        bool ret = casadi::isStrictlyMonotone(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::isStrictlyMonotone" ===============
+// cppName: "casadi::isStrictlyMonotone"
+// cWrapperName: "isStrictlyMonotone__1"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
+// params: [Ref (Const (StdVec CInt))]
+// retType: CBool
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int isStrictlyMonotone__1(std::string ** err_msg, std::vector< int >* x0)"
+// call: "casadi::isStrictlyMonotone(x0_)"
+extern "C"
+int isStrictlyMonotone__1(std::string ** err_msg, std::vector< int >* x0);
+int isStrictlyMonotone__1(std::string ** err_msg, std::vector< int >* x0){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+        bool ret = casadi::isStrictlyMonotone(x0_);
+        return WrapReturn< int, bool >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* jacGIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::jacGIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* jacGIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* jacGIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::jacGIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* jacGIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::jacGIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* jacGIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* jacGIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::jacGIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* jacGIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::jacGIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* jacGIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* jacGIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::jacGIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* jacGIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::jacGIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* jacGIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* jacGIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::jacGIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* jacGIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::jacGIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* jacGIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* jacGIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::jacGIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* jacGIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::jacGIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* jacGIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* jacGIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::jacGIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* jacGIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::jacGIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* jacGIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* jacGIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::jacGIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* jacGIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::jacGIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* jacGIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* jacGIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::jacGIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* jacGIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::jacGIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* jacGIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* jacGIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::jacGIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* jacGIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::jacGIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* jacGIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* jacGIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::jacGIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* jacGIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::jacGIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* jacGIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* jacGIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::jacGIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGIn" ===============
+// cppName: "casadi::jacGIn"
+// cWrapperName: "jacGIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* jacGIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::jacGIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* jacGIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* jacGIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::jacGIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* jacGOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::jacGOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* jacGOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* jacGOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::jacGOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* jacGOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::jacGOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* jacGOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* jacGOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::jacGOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* jacGOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::jacGOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* jacGOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* jacGOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::jacGOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* jacGOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::jacGOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* jacGOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* jacGOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::jacGOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* jacGOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::jacGOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* jacGOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* jacGOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::jacGOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* jacGOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::jacGOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* jacGOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* jacGOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::jacGOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* jacGOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::jacGOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* jacGOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* jacGOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::jacGOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* jacGOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::jacGOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* jacGOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* jacGOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::jacGOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* jacGOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::jacGOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* jacGOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* jacGOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::jacGOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* jacGOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::jacGOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* jacGOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* jacGOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::jacGOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* jacGOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::jacGOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* jacGOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* jacGOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::jacGOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* jacGOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::jacGOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* jacGOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* jacGOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::jacGOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* jacGOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::jacGOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* jacGOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* jacGOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::jacGOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* jacGOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::jacGOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* jacGOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* jacGOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::jacGOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* jacGOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::jacGOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* jacGOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* jacGOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::jacGOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacGOut" ===============
+// cppName: "casadi::jacGOut"
+// cWrapperName: "jacGOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* jacGOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::jacGOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* jacGOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* jacGOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::jacGOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacobian" ===============
+// cppName: "casadi::jacobian"
+// cWrapperName: "jacobian__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* jacobian__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// call: "casadi::jacobian(x0_, x1_)"
+extern "C"
+casadi::MX* jacobian__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX* jacobian__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = casadi::jacobian(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacobian" ===============
+// cppName: "casadi::jacobian"
+// cWrapperName: "jacobian__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::jacobian(x0_, x1_)"
+extern "C"
+casadi::SX* jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::jacobian(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacobianTimesVector" ===============
+// cppName: "casadi::jacobianTimesVector"
+// cWrapperName: "jacobianTimesVector__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* jacobianTimesVector__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "casadi::jacobianTimesVector(x0_, x1_, x2_)"
+extern "C"
+casadi::SX* jacobianTimesVector__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX* jacobianTimesVector__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::jacobianTimesVector(x0_, x1_, x2_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::jacobianTimesVector" ===============
+// cppName: "casadi::jacobianTimesVector"
+// cWrapperName: "jacobianTimesVector__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CBool]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* jacobianTimesVector__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// call: "casadi::jacobianTimesVector(x0_, x1_, x2_, x3_)"
+extern "C"
+casadi::SX* jacobianTimesVector__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
+casadi::SX* jacobianTimesVector__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::SX ret = casadi::jacobianTimesVector(x0_, x1_, x2_, x3_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* linsolIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::linsolIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* linsolIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* linsolIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::linsolIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* linsolIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::linsolIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* linsolIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* linsolIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::linsolIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* linsolIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::linsolIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* linsolIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* linsolIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::linsolIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* linsolIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::linsolIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* linsolIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* linsolIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::linsolIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* linsolIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::linsolIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* linsolIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* linsolIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::linsolIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* linsolIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::linsolIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* linsolIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* linsolIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::linsolIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* linsolIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::linsolIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* linsolIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* linsolIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::linsolIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* linsolIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::linsolIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* linsolIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* linsolIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::linsolIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* linsolIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::linsolIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* linsolIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* linsolIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::linsolIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* linsolIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::linsolIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* linsolIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* linsolIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::linsolIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* linsolIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::linsolIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* linsolIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* linsolIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::linsolIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolIn" ===============
+// cppName: "casadi::linsolIn"
+// cWrapperName: "linsolIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* linsolIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::linsolIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* linsolIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* linsolIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::linsolIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolOut" ===============
+// cppName: "casadi::linsolOut"
+// cWrapperName: "linsolOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* linsolOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::linsolOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* linsolOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* linsolOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::linsolOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolOut" ===============
+// cppName: "casadi::linsolOut"
+// cWrapperName: "linsolOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* linsolOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::linsolOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* linsolOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* linsolOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::linsolOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolOut" ===============
+// cppName: "casadi::linsolOut"
+// cWrapperName: "linsolOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* linsolOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::linsolOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* linsolOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* linsolOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::linsolOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolOut" ===============
+// cppName: "casadi::linsolOut"
+// cWrapperName: "linsolOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* linsolOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::linsolOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* linsolOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* linsolOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::linsolOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolOut" ===============
+// cppName: "casadi::linsolOut"
+// cWrapperName: "linsolOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* linsolOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::linsolOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* linsolOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* linsolOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::linsolOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolOut" ===============
+// cppName: "casadi::linsolOut"
+// cWrapperName: "linsolOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* linsolOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::linsolOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* linsolOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* linsolOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::linsolOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolOut" ===============
+// cppName: "casadi::linsolOut"
+// cWrapperName: "linsolOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* linsolOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::linsolOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* linsolOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* linsolOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::linsolOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::linsolOut" ===============
+// cppName: "casadi::linsolOut"
+// cWrapperName: "linsolOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* linsolOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::linsolOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* linsolOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* linsolOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::linsolOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_and" ===============
+// cppName: "casadi::logic_and"
+// cWrapperName: "logic_and__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* logic_and__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// call: "casadi::logic_and(x0_, x1_)"
+extern "C"
+casadi::MX* logic_and__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX* logic_and__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = casadi::logic_and(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_and" ===============
+// cppName: "casadi::logic_and"
+// cWrapperName: "logic_and__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* logic_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::logic_and(x0_, x1_)"
+extern "C"
+casadi::SX* logic_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* logic_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::logic_and(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_and" ===============
+// cppName: "casadi::logic_and"
+// cWrapperName: "logic_and__2"
+// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* logic_and__2(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1)"
+// call: "casadi::logic_and(x0_, x1_)"
+extern "C"
+casadi::DMatrix* logic_and__2(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1);
+casadi::DMatrix* logic_and__2(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1){
+    try {
+        casadi::DMatrix x0_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x0);
+        casadi::DMatrix x1_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x1);
+
+        casadi::DMatrix ret = casadi::logic_and(x0_, x1_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_and" ===============
+// cppName: "casadi::logic_and"
+// cWrapperName: "logic_and__3"
+// protoArgs: "(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "IMatrix")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IMatrix*"
+// proto: "casadi::IMatrix* logic_and__3(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1)"
+// call: "casadi::logic_and(x0_, x1_)"
+extern "C"
+casadi::IMatrix* logic_and__3(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1);
+casadi::IMatrix* logic_and__3(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1){
+    try {
+        casadi::IMatrix x0_ = Marshaling<casadi::IMatrix,casadi::IMatrix*>::marshal(x0);
+        casadi::IMatrix x1_ = Marshaling<casadi::IMatrix,casadi::IMatrix*>::marshal(x1);
+
+        casadi::IMatrix ret = casadi::logic_and(x0_, x1_);
+        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_and" ===============
+// cppName: "casadi::logic_and"
+// cWrapperName: "logic_and__4"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [Ref (Const CDouble),Ref (Const CDouble)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double logic_and__4(std::string ** err_msg, double* x0, double* x1)"
+// call: "casadi::logic_and(x0_, x1_)"
+extern "C"
+double logic_and__4(std::string ** err_msg, double* x0, double* x1);
+double logic_and__4(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double x0_ = Marshaling<double,double*>::marshal(x0);
+        double x1_ = Marshaling<double,double*>::marshal(x1);
+
+        double ret = casadi::logic_and(x0_, x1_);
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_and" ===============
+// cppName: "casadi::logic_and"
+// cWrapperName: "logic_and__5"
+// protoArgs: "(std::string ** err_msg, int* x0, int* x1)"
+// params: [Ref (Const CInt),Ref (Const CInt)]
+// retType: CInt
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int logic_and__5(std::string ** err_msg, int* x0, int* x1)"
+// call: "casadi::logic_and(x0_, x1_)"
+extern "C"
+int logic_and__5(std::string ** err_msg, int* x0, int* x1);
+int logic_and__5(std::string ** err_msg, int* x0, int* x1){
+    try {
+        int x0_ = Marshaling<int,int*>::marshal(x0);
+        int x1_ = Marshaling<int,int*>::marshal(x1);
+
+        int ret = casadi::logic_and(x0_, x1_);
+        return WrapReturn< int, int >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_not" ===============
+// cppName: "casadi::logic_not"
+// cWrapperName: "logic_not__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* logic_not__0(std::string ** err_msg, casadi::MX* x0)"
+// call: "casadi::logic_not(x0_)"
+extern "C"
+casadi::MX* logic_not__0(std::string ** err_msg, casadi::MX* x0);
+casadi::MX* logic_not__0(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = casadi::logic_not(x0_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_not" ===============
+// cppName: "casadi::logic_not"
+// cWrapperName: "logic_not__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* logic_not__1(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::logic_not(x0_)"
+extern "C"
+casadi::SX* logic_not__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* logic_not__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::logic_not(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_not" ===============
+// cppName: "casadi::logic_not"
+// cWrapperName: "logic_not__2"
+// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* logic_not__2(std::string ** err_msg, casadi::DMatrix* x0)"
+// call: "casadi::logic_not(x0_)"
+extern "C"
+casadi::DMatrix* logic_not__2(std::string ** err_msg, casadi::DMatrix* x0);
+casadi::DMatrix* logic_not__2(std::string ** err_msg, casadi::DMatrix* x0){
+    try {
+        casadi::DMatrix x0_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x0);
+
+        casadi::DMatrix ret = casadi::logic_not(x0_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_not" ===============
+// cppName: "casadi::logic_not"
+// cWrapperName: "logic_not__3"
+// protoArgs: "(std::string ** err_msg, casadi::IMatrix* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "IMatrix")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IMatrix*"
+// proto: "casadi::IMatrix* logic_not__3(std::string ** err_msg, casadi::IMatrix* x0)"
+// call: "casadi::logic_not(x0_)"
+extern "C"
+casadi::IMatrix* logic_not__3(std::string ** err_msg, casadi::IMatrix* x0);
+casadi::IMatrix* logic_not__3(std::string ** err_msg, casadi::IMatrix* x0){
+    try {
+        casadi::IMatrix x0_ = Marshaling<casadi::IMatrix,casadi::IMatrix*>::marshal(x0);
+
+        casadi::IMatrix ret = casadi::logic_not(x0_);
+        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_not" ===============
+// cppName: "casadi::logic_not"
+// cWrapperName: "logic_not__4"
+// protoArgs: "(std::string ** err_msg, double* x0)"
+// params: [Ref (Const CDouble)]
+// retType: CDouble
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double logic_not__4(std::string ** err_msg, double* x0)"
+// call: "casadi::logic_not(x0_)"
+extern "C"
+double logic_not__4(std::string ** err_msg, double* x0);
+double logic_not__4(std::string ** err_msg, double* x0){
+    try {
+        double x0_ = Marshaling<double,double*>::marshal(x0);
+
+        double ret = casadi::logic_not(x0_);
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_not" ===============
+// cppName: "casadi::logic_not"
+// cWrapperName: "logic_not__5"
+// protoArgs: "(std::string ** err_msg, int* x0)"
+// params: [Ref (Const CInt)]
+// retType: CInt
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int logic_not__5(std::string ** err_msg, int* x0)"
+// call: "casadi::logic_not(x0_)"
+extern "C"
+int logic_not__5(std::string ** err_msg, int* x0);
+int logic_not__5(std::string ** err_msg, int* x0){
+    try {
+        int x0_ = Marshaling<int,int*>::marshal(x0);
+
+        int ret = casadi::logic_not(x0_);
+        return WrapReturn< int, int >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_or" ===============
+// cppName: "casadi::logic_or"
+// cWrapperName: "logic_or__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* logic_or__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// call: "casadi::logic_or(x0_, x1_)"
+extern "C"
+casadi::MX* logic_or__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX* logic_or__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = casadi::logic_or(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_or" ===============
+// cppName: "casadi::logic_or"
+// cWrapperName: "logic_or__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* logic_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::logic_or(x0_, x1_)"
+extern "C"
+casadi::SX* logic_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* logic_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::logic_or(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_or" ===============
+// cppName: "casadi::logic_or"
+// cWrapperName: "logic_or__2"
+// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* logic_or__2(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1)"
+// call: "casadi::logic_or(x0_, x1_)"
+extern "C"
+casadi::DMatrix* logic_or__2(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1);
+casadi::DMatrix* logic_or__2(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1){
+    try {
+        casadi::DMatrix x0_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x0);
+        casadi::DMatrix x1_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x1);
+
+        casadi::DMatrix ret = casadi::logic_or(x0_, x1_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_or" ===============
+// cppName: "casadi::logic_or"
+// cWrapperName: "logic_or__3"
+// protoArgs: "(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "IMatrix")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IMatrix*"
+// proto: "casadi::IMatrix* logic_or__3(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1)"
+// call: "casadi::logic_or(x0_, x1_)"
+extern "C"
+casadi::IMatrix* logic_or__3(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1);
+casadi::IMatrix* logic_or__3(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1){
+    try {
+        casadi::IMatrix x0_ = Marshaling<casadi::IMatrix,casadi::IMatrix*>::marshal(x0);
+        casadi::IMatrix x1_ = Marshaling<casadi::IMatrix,casadi::IMatrix*>::marshal(x1);
+
+        casadi::IMatrix ret = casadi::logic_or(x0_, x1_);
+        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_or" ===============
+// cppName: "casadi::logic_or"
+// cWrapperName: "logic_or__4"
+// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
+// params: [Ref (Const CDouble),Ref (Const CDouble)]
+// retType: CDouble
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double logic_or__4(std::string ** err_msg, double* x0, double* x1)"
+// call: "casadi::logic_or(x0_, x1_)"
+extern "C"
+double logic_or__4(std::string ** err_msg, double* x0, double* x1);
+double logic_or__4(std::string ** err_msg, double* x0, double* x1){
+    try {
+        double x0_ = Marshaling<double,double*>::marshal(x0);
+        double x1_ = Marshaling<double,double*>::marshal(x1);
+
+        double ret = casadi::logic_or(x0_, x1_);
+        return WrapReturn< double, double >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::logic_or" ===============
+// cppName: "casadi::logic_or"
+// cWrapperName: "logic_or__5"
+// protoArgs: "(std::string ** err_msg, int* x0, int* x1)"
+// params: [Ref (Const CInt),Ref (Const CInt)]
+// retType: CInt
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int logic_or__5(std::string ** err_msg, int* x0, int* x1)"
+// call: "casadi::logic_or(x0_, x1_)"
+extern "C"
+int logic_or__5(std::string ** err_msg, int* x0, int* x1);
+int logic_or__5(std::string ** err_msg, int* x0, int* x1){
+    try {
+        int x0_ = Marshaling<int,int*>::marshal(x0);
+        int x1_ = Marshaling<int,int*>::marshal(x1);
+
+        int ret = casadi::logic_or(x0_, x1_);
+        return WrapReturn< int, int >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lookupvector" ===============
+// cppName: "casadi::lookupvector"
+// cWrapperName: "lookupvector"
+// protoArgs: "(std::string ** err_msg, std::vector< int >* x0, int x1)"
+// params: [Ref (Const (StdVec CInt)),CInt]
+// retType: StdVec CInt
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* lookupvector(std::string ** err_msg, std::vector< int >* x0, int x1)"
+// call: "casadi::lookupvector(x0_, x1_)"
+extern "C"
+std::vector< int >* lookupvector(std::string ** err_msg, std::vector< int >* x0, int x1);
+std::vector< int >* lookupvector(std::string ** err_msg, std::vector< int >* x0, int x1){
+    try {
+        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+        int x1_ = Marshaling<int,int>::marshal(x1);
+
+        std::vector< int > ret = casadi::lookupvector(x0_, x1_);
+        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::lpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* lpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::lpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* lpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* lpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* lpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* lpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* lpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* lpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::lpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* lpIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::lpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* lpIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* lpIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* lpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* lpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* lpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* lpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::lpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* lpIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* lpIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::lpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpIn__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::lpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* lpIn__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* lpIn__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::lpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* lpIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* lpIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::lpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* lpIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* lpIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::lpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* lpIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* lpIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* lpIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* lpIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* lpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* lpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpIn__21(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::lpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* lpIn__21(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* lpIn__21(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::lpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpIn__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::lpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* lpIn__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* lpIn__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::lpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpIn__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* lpIn__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* lpIn__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::lpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* lpIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* lpIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::lpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* lpIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* lpIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* lpIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* lpIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpIn" ===============
+// cppName: "casadi::lpIn"
+// cWrapperName: "lpIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* lpIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* lpIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::lpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::lpOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* lpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::lpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* lpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* lpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* lpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* lpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::lpOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* lpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::lpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* lpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* lpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* lpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* lpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::lpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::lpOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* lpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* lpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::lpOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::lpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* lpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* lpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::lpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* lpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* lpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::lpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* lpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* lpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::lpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* lpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* lpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::lpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::lpOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* lpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* lpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::lpOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::lpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* lpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* lpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::lpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* lpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* lpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::lpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* lpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* lpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::lpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpOut" ===============
+// cppName: "casadi::lpOut"
+// cWrapperName: "lpOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* lpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* lpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::lpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpStruct" ===============
+// cppName: "casadi::lpStruct"
+// cWrapperName: "lpStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::lpStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* lpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lpStruct" ===============
+// cppName: "casadi::lpStruct"
+// cWrapperName: "lpStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::lpStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* lpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::lpStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::lrdleIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* lrdleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::lrdleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* lrdleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* lrdleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* lrdleIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* lrdleIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::lrdleIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* lrdleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdleIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdleIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::lrdleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdleIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* lrdleIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdleIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdleIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* lrdleIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdleIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdleIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* lrdleIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdleIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdleIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdleIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* lrdleIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdleIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdleIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::lrdleIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* lrdleIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* lrdleIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::lrdleIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdleIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::lrdleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* lrdleIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* lrdleIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::lrdleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdleIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* lrdleIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* lrdleIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::lrdleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdleIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* lrdleIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* lrdleIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::lrdleIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdleIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* lrdleIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* lrdleIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::lrdleIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdleIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::lrdleIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* lrdleIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* lrdleIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::lrdleIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdleIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::lrdleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* lrdleIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* lrdleIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::lrdleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdleIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* lrdleIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* lrdleIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::lrdleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdleIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* lrdleIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* lrdleIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::lrdleIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleIn" ===============
+// cppName: "casadi::lrdleIn"
+// cWrapperName: "lrdleIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdleIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdleIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* lrdleIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* lrdleIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::lrdleIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleOut" ===============
+// cppName: "casadi::lrdleOut"
+// cWrapperName: "lrdleOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::lrdleOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* lrdleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleOut" ===============
+// cppName: "casadi::lrdleOut"
+// cWrapperName: "lrdleOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::lrdleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* lrdleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleOut" ===============
+// cppName: "casadi::lrdleOut"
+// cWrapperName: "lrdleOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::lrdleOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* lrdleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdleOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleOut" ===============
+// cppName: "casadi::lrdleOut"
+// cWrapperName: "lrdleOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::lrdleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* lrdleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleOut" ===============
+// cppName: "casadi::lrdleOut"
+// cWrapperName: "lrdleOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::lrdleOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* lrdleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* lrdleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::lrdleOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleOut" ===============
+// cppName: "casadi::lrdleOut"
+// cWrapperName: "lrdleOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::lrdleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* lrdleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* lrdleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::lrdleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleOut" ===============
+// cppName: "casadi::lrdleOut"
+// cWrapperName: "lrdleOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::lrdleOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* lrdleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* lrdleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::lrdleOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleOut" ===============
+// cppName: "casadi::lrdleOut"
+// cWrapperName: "lrdleOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::lrdleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* lrdleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* lrdleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::lrdleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleStruct" ===============
+// cppName: "casadi::lrdleStruct"
+// cWrapperName: "lrdleStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::lrdleStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* lrdleStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleStruct" ===============
+// cppName: "casadi::lrdleStruct"
+// cWrapperName: "lrdleStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::lrdleStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* lrdleStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleStruct" ===============
+// cppName: "casadi::lrdleStruct"
+// cWrapperName: "lrdleStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdleStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* lrdleStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleStruct" ===============
+// cppName: "casadi::lrdleStruct"
+// cWrapperName: "lrdleStruct__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdleStruct(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* lrdleStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleStruct(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdleStruct" ===============
+// cppName: "casadi::lrdleStruct"
+// cWrapperName: "lrdleStruct__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdleStruct__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdleStruct(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdleStruct__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* lrdleStruct__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdleStruct(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdpleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::lrdpleIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdpleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* lrdpleIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdpleIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdpleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::lrdpleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdpleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* lrdpleIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdpleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdpleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdpleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* lrdpleIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdpleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdpleIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdpleIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* lrdpleIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdpleIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdpleIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdpleIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* lrdpleIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdpleIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdpleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::lrdpleIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdpleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* lrdpleIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdpleIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdpleIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::lrdpleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdpleIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* lrdpleIn__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdpleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdpleIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdpleIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* lrdpleIn__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdpleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdpleIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdpleIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* lrdpleIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdpleIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdpleIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdpleIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* lrdpleIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdpleIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdpleIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::lrdpleIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* lrdpleIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* lrdpleIn__10(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::lrdpleIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdpleIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::lrdpleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* lrdpleIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* lrdpleIn__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::lrdpleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdpleIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* lrdpleIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* lrdpleIn__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::lrdpleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdpleIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* lrdpleIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* lrdpleIn__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::lrdpleIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdpleIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* lrdpleIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* lrdpleIn__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::lrdpleIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdpleIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::lrdpleIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* lrdpleIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* lrdpleIn__15(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::lrdpleIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdpleIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::lrdpleIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* lrdpleIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* lrdpleIn__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::lrdpleIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdpleIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* lrdpleIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* lrdpleIn__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::lrdpleIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdpleIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* lrdpleIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* lrdpleIn__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::lrdpleIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleIn" ===============
+// cppName: "casadi::lrdpleIn"
+// cWrapperName: "lrdpleIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdpleIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdpleIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* lrdpleIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* lrdpleIn__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::lrdpleIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleOut" ===============
+// cppName: "casadi::lrdpleOut"
+// cWrapperName: "lrdpleOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdpleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::lrdpleOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdpleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* lrdpleOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdpleOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleOut" ===============
+// cppName: "casadi::lrdpleOut"
+// cWrapperName: "lrdpleOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* lrdpleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::lrdpleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* lrdpleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* lrdpleOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::lrdpleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleOut" ===============
+// cppName: "casadi::lrdpleOut"
+// cWrapperName: "lrdpleOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdpleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::lrdpleOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdpleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* lrdpleOut__2(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdpleOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleOut" ===============
+// cppName: "casadi::lrdpleOut"
+// cWrapperName: "lrdpleOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* lrdpleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::lrdpleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* lrdpleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* lrdpleOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::lrdpleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleOut" ===============
+// cppName: "casadi::lrdpleOut"
+// cWrapperName: "lrdpleOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdpleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::lrdpleOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* lrdpleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* lrdpleOut__4(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::lrdpleOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleOut" ===============
+// cppName: "casadi::lrdpleOut"
+// cWrapperName: "lrdpleOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* lrdpleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::lrdpleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* lrdpleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* lrdpleOut__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::lrdpleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleOut" ===============
+// cppName: "casadi::lrdpleOut"
+// cWrapperName: "lrdpleOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdpleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::lrdpleOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* lrdpleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* lrdpleOut__6(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::lrdpleOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleOut" ===============
+// cppName: "casadi::lrdpleOut"
+// cWrapperName: "lrdpleOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* lrdpleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::lrdpleOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* lrdpleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* lrdpleOut__7(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::lrdpleOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleStruct" ===============
+// cppName: "casadi::lrdpleStruct"
+// cWrapperName: "lrdpleStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0)"
+// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))))]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__0(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0)"
+// call: "casadi::lrdpleStruct(x0_)"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__0(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0);
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__0(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0){
+    try {
+        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = casadi::lrdpleStruct(x0_);
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleStruct" ===============
+// cppName: "casadi::lrdpleStruct"
+// cWrapperName: "lrdpleStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),Ref (Const StdString)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__1(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1)"
+// call: "casadi::lrdpleStruct(x0_, x1_)"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__1(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1);
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__1(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1){
+    try {
+        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = casadi::lrdpleStruct(x0_, x1_);
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleStruct" ===============
+// cppName: "casadi::lrdpleStruct"
+// cWrapperName: "lrdpleStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__2(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::lrdpleStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__2(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2);
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__2(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = casadi::lrdpleStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleStruct" ===============
+// cppName: "casadi::lrdpleStruct"
+// cWrapperName: "lrdpleStruct__3"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__3(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::lrdpleStruct(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__3(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__3(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = casadi::lrdpleStruct(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::lrdpleStruct" ===============
+// cppName: "casadi::lrdpleStruct"
+// cWrapperName: "lrdpleStruct__4"
+// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
+// proto: "std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__4(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::lrdpleStruct(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__4(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< std::vector< casadi::Sparsity* >* >* lrdpleStruct__4(std::string ** err_msg, std::vector< std::vector< casadi::Sparsity* >* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< std::vector< casadi::Sparsity > > x0_ = Marshaling<std::vector< std::vector< casadi::Sparsity > >,std::vector< std::vector< casadi::Sparsity* >* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< std::vector< casadi::Sparsity > > ret = casadi::lrdpleStruct(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::matrix_expand" ===============
+// cppName: "casadi::matrix_expand"
+// cWrapperName: "matrix_expand__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* matrix_expand__0(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::matrix_expand(x0_)"
+extern "C"
+std::vector< casadi::MX* >* matrix_expand__0(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* matrix_expand__0(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::matrix_expand(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::matrix_expand" ===============
+// cppName: "casadi::matrix_expand"
+// cWrapperName: "matrix_expand__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* matrix_expand__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
+// call: "casadi::matrix_expand(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* matrix_expand__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1);
+std::vector< casadi::MX* >* matrix_expand__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1){
+    try {
+        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 > ret = casadi::matrix_expand(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::matrix_expand" ===============
+// cppName: "casadi::matrix_expand"
+// cWrapperName: "matrix_expand__2"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* matrix_expand__2(std::string ** err_msg, casadi::MX* x0)"
+// call: "casadi::matrix_expand(x0_)"
+extern "C"
+casadi::MX* matrix_expand__2(std::string ** err_msg, casadi::MX* x0);
+casadi::MX* matrix_expand__2(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+
+        casadi::MX ret = casadi::matrix_expand(x0_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::matrix_expand" ===============
+// cppName: "casadi::matrix_expand"
+// cWrapperName: "matrix_expand__3"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* matrix_expand__3(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
+// call: "casadi::matrix_expand(x0_, x1_)"
+extern "C"
+casadi::MX* matrix_expand__3(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1);
+casadi::MX* matrix_expand__3(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1){
+    try {
+        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);
+
+        casadi::MX ret = casadi::matrix_expand(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::mtaylor" ===============
+// cppName: "casadi::mtaylor"
+// cWrapperName: "mtaylor__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3, std::vector< int >* x4)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CInt,Ref (Const (StdVec CInt))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3, std::vector< int >* x4)"
+// call: "casadi::mtaylor(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+casadi::SX* mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3, std::vector< int >* x4);
+casadi::SX* mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3, std::vector< int >* x4){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+        int x3_ = Marshaling<int,int>::marshal(x3);
+        std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
+
+        casadi::SX ret = casadi::mtaylor(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::mtaylor" ===============
+// cppName: "casadi::mtaylor"
+// cWrapperName: "mtaylor__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "casadi::mtaylor(x0_, x1_, x2_)"
+extern "C"
+casadi::SX* mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX* mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::mtaylor(x0_, x1_, x2_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::mtaylor" ===============
+// cppName: "casadi::mtaylor"
+// cWrapperName: "mtaylor__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CInt]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// call: "casadi::mtaylor(x0_, x1_, x2_, x3_)"
+extern "C"
+casadi::SX* mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
+casadi::SX* mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+        int x3_ = Marshaling<int,int>::marshal(x3);
+
+        casadi::SX ret = casadi::mtaylor(x0_, x1_, x2_, x3_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::nlpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* nlpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::nlpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* nlpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* nlpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::nlpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* nlpIn__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::nlpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* nlpIn__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* nlpIn__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::nlpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* nlpIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* nlpIn__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::nlpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::nlpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* nlpIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* nlpIn__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::nlpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* nlpIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* nlpIn__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::nlpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::nlpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* nlpIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* nlpIn__9(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::nlpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::nlpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* nlpIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* nlpIn__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::nlpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpIn" ===============
+// cppName: "casadi::nlpIn"
+// cWrapperName: "nlpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* nlpIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* nlpIn__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::nlpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::nlpOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* nlpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::nlpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* nlpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* nlpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::nlpOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* nlpOut__3(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::nlpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* nlpOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* nlpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpOut__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::nlpOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* nlpOut__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* nlpOut__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::nlpOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpOut__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::nlpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* nlpOut__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* nlpOut__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::nlpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* nlpOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* nlpOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::nlpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpOut__9(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::nlpOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* nlpOut__9(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* nlpOut__9(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::nlpOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpOut__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::nlpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* nlpOut__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* nlpOut__10(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::nlpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpOut" ===============
+// cppName: "casadi::nlpOut"
+// cWrapperName: "nlpOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpOut__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* nlpOut__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* nlpOut__11(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::nlpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::nlpSolverIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* nlpSolverIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::nlpSolverIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* nlpSolverIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* nlpSolverIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* nlpSolverIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* nlpSolverIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* nlpSolverIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* nlpSolverIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* nlpSolverIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::Sparsity* >* nlpSolverIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::nlpSolverIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* nlpSolverIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::nlpSolverIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* nlpSolverIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* nlpSolverIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* nlpSolverIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* nlpSolverIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* nlpSolverIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* nlpSolverIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* nlpSolverIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::DMatrix* >* nlpSolverIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::nlpSolverIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* nlpSolverIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::nlpSolverIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* nlpSolverIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* nlpSolverIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* nlpSolverIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* nlpSolverIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* nlpSolverIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* nlpSolverIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* nlpSolverIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::MX* >* nlpSolverIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::nlpSolverIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* nlpSolverIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::nlpSolverIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* nlpSolverIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* nlpSolverIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* nlpSolverIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* nlpSolverIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__32"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* nlpSolverIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__33"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* nlpSolverIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__34"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* nlpSolverIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverIn" ===============
+// cppName: "casadi::nlpSolverIn"
+// cWrapperName: "nlpSolverIn__35"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::SX* >* nlpSolverIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::nlpSolverOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* nlpSolverOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::nlpSolverOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* nlpSolverOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* nlpSolverOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* nlpSolverOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* nlpSolverOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* nlpSolverOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* nlpSolverOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* nlpSolverOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* nlpSolverOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::nlpSolverOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* nlpSolverOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::nlpSolverOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* nlpSolverOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* nlpSolverOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* nlpSolverOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* nlpSolverOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* nlpSolverOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* nlpSolverOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* nlpSolverOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* nlpSolverOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::nlpSolverOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* nlpSolverOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::nlpSolverOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* nlpSolverOut__15(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* nlpSolverOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* nlpSolverOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* nlpSolverOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* nlpSolverOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* nlpSolverOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* nlpSolverOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* nlpSolverOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::nlpSolverOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* nlpSolverOut__21(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::nlpSolverOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* nlpSolverOut__22(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* nlpSolverOut__23(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* nlpSolverOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* nlpSolverOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* nlpSolverOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::nlpSolverOut" ===============
+// cppName: "casadi::nlpSolverOut"
+// cWrapperName: "nlpSolverOut__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* nlpSolverOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* nlpSolverOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* nlpSolverOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::nlpSolverOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::pinv" ===============
+// cppName: "casadi::pinv"
+// cWrapperName: "pinv__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* pinv__0(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
+// call: "casadi::pinv(x0_, x1_)"
+extern "C"
+casadi::MX* pinv__0(std::string ** err_msg, casadi::MX* x0, std::string* x1);
+casadi::MX* pinv__0(std::string ** err_msg, casadi::MX* x0, std::string* x1){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        casadi::MX ret = casadi::pinv(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::pinv" ===============
+// cppName: "casadi::pinv"
+// cWrapperName: "pinv__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* pinv__1(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::pinv(x0_)"
+extern "C"
+casadi::SX* pinv__1(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* pinv__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::pinv(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::pinv" ===============
+// cppName: "casadi::pinv"
+// cWrapperName: "pinv__2"
+// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* pinv__2(std::string ** err_msg, casadi::DMatrix* x0)"
+// call: "casadi::pinv(x0_)"
+extern "C"
+casadi::DMatrix* pinv__2(std::string ** err_msg, casadi::DMatrix* x0);
+casadi::DMatrix* pinv__2(std::string ** err_msg, casadi::DMatrix* x0){
+    try {
+        casadi::DMatrix x0_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x0);
+
+        casadi::DMatrix ret = casadi::pinv(x0_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::pinv" ===============
+// cppName: "casadi::pinv"
+// cWrapperName: "pinv__3"
+// protoArgs: "(std::string ** err_msg, casadi::IMatrix* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "IMatrix")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::IMatrix*"
+// proto: "casadi::IMatrix* pinv__3(std::string ** err_msg, casadi::IMatrix* x0)"
+// call: "casadi::pinv(x0_)"
+extern "C"
+casadi::IMatrix* pinv__3(std::string ** err_msg, casadi::IMatrix* x0);
+casadi::IMatrix* pinv__3(std::string ** err_msg, casadi::IMatrix* x0){
+    try {
+        casadi::IMatrix x0_ = Marshaling<casadi::IMatrix,casadi::IMatrix*>::marshal(x0);
+
+        casadi::IMatrix ret = casadi::pinv(x0_);
+        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::pinv" ===============
+// cppName: "casadi::pinv"
+// cWrapperName: "pinv__4"
+// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0, std::string* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const StdString)]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* pinv__4(std::string ** err_msg, casadi::DMatrix* x0, std::string* x1)"
+// call: "casadi::pinv(x0_, x1_)"
+extern "C"
+casadi::DMatrix* pinv__4(std::string ** err_msg, casadi::DMatrix* x0, std::string* x1);
+casadi::DMatrix* pinv__4(std::string ** err_msg, casadi::DMatrix* x0, std::string* x1){
+    try {
+        casadi::DMatrix x0_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        casadi::DMatrix ret = casadi::pinv(x0_, x1_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::poly_coeff" ===============
+// cppName: "casadi::poly_coeff"
+// cWrapperName: "poly_coeff"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* poly_coeff(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::poly_coeff(x0_, x1_)"
+extern "C"
+casadi::SX* poly_coeff(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* poly_coeff(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::poly_coeff(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::poly_roots" ===============
+// cppName: "casadi::poly_roots"
+// cWrapperName: "poly_roots"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* poly_roots(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::poly_roots(x0_)"
+extern "C"
+casadi::SX* poly_roots(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* poly_roots(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::poly_roots(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::printCompact" ===============
+// cppName: "casadi::printCompact"
+// cWrapperName: "printCompact__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void printCompact__0(std::string ** err_msg, casadi::MX* x0)"
+// call: "casadi::printCompact(x0_)"
+extern "C"
+void printCompact__0(std::string ** err_msg, casadi::MX* x0);
+void printCompact__0(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+
+        casadi::printCompact(x0_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::printCompact" ===============
+// cppName: "casadi::printCompact"
+// cWrapperName: "printCompact__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void printCompact__1(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::printCompact(x0_)"
+extern "C"
+void printCompact__1(std::string ** err_msg, casadi::SX* x0);
+void printCompact__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::printCompact(x0_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::pw_const" ===============
+// cppName: "casadi::pw_const"
+// cWrapperName: "pw_const"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* pw_const(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "casadi::pw_const(x0_, x1_, x2_)"
+extern "C"
+casadi::SX* pw_const(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX* pw_const(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::pw_const(x0_, x1_, x2_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::pw_lin" ===============
+// cppName: "casadi::pw_lin"
+// cWrapperName: "pw_lin"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* pw_lin(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "casadi::pw_lin(x0_, x1_, x2_)"
+extern "C"
+casadi::SX* pw_lin(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX* pw_lin(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::pw_lin(x0_, x1_, x2_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::qcqpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* qcqpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::qcqpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* qcqpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* qcqpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* qcqpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* qcqpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* qcqpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* qcqpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* qcqpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::Sparsity* >* qcqpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::Sparsity* >* qcqpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::Sparsity* >* qcqpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__11(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__11(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11);
+std::vector< casadi::Sparsity* >* qcqpIn__11(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpIn__12(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpIn__12(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12);
+std::vector< casadi::Sparsity* >* qcqpIn__12(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+        std::string x12_ = Marshaling<std::string,std::string*>::marshal(x12);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::qcqpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* qcqpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::qcqpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* qcqpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* qcqpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* qcqpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* qcqpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* qcqpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* qcqpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* qcqpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::DMatrix* >* qcqpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__22(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__22(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::DMatrix* >* qcqpIn__22(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__23(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__23(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::DMatrix* >* qcqpIn__23(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__24(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__24(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11);
+std::vector< casadi::DMatrix* >* qcqpIn__24(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpIn__25(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpIn__25(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12);
+std::vector< casadi::DMatrix* >* qcqpIn__25(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+        std::string x12_ = Marshaling<std::string,std::string*>::marshal(x12);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::qcqpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* qcqpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::qcqpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* qcqpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* qcqpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* qcqpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* qcqpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* qcqpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__32"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* qcqpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__33"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__33(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__33(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* qcqpIn__33(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__34"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__34(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__34(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::MX* >* qcqpIn__34(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__35"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__35(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__35(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::MX* >* qcqpIn__35(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__36"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__36(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__36(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::MX* >* qcqpIn__36(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__37"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__37(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__37(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11);
+std::vector< casadi::MX* >* qcqpIn__37(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__38"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpIn__38(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpIn__38(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12);
+std::vector< casadi::MX* >* qcqpIn__38(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+        std::string x12_ = Marshaling<std::string,std::string*>::marshal(x12);
+
+        std::vector< casadi::MX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__39"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::qcqpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* qcqpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__40"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::qcqpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* qcqpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__41"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* qcqpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__42"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* qcqpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__43"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* qcqpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__44"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__44(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__44(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* qcqpIn__44(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__45"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__45(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__45(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* qcqpIn__45(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__46"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__46(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__46(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* qcqpIn__46(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__47"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__47(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__47(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::SX* >* qcqpIn__47(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__48"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__48(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__48(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::SX* >* qcqpIn__48(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__49"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__49(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__49(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::SX* >* qcqpIn__49(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__50"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__50(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__50(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11);
+std::vector< casadi::SX* >* qcqpIn__50(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpIn" ===============
+// cppName: "casadi::qcqpIn"
+// cWrapperName: "qcqpIn__51"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpIn__51(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// call: "casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpIn__51(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12);
+std::vector< casadi::SX* >* qcqpIn__51(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+        std::string x12_ = Marshaling<std::string,std::string*>::marshal(x12);
+
+        std::vector< casadi::SX > ret = casadi::qcqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::qcqpOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* qcqpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::qcqpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* qcqpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* qcqpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* qcqpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* qcqpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::qcqpOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* qcqpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::qcqpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* qcqpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* qcqpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* qcqpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qcqpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qcqpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* qcqpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::qcqpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::qcqpOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* qcqpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::qcqpOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::qcqpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* qcqpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::qcqpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* qcqpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::qcqpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* qcqpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::qcqpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qcqpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* qcqpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* qcqpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::qcqpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::qcqpOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* qcqpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::qcqpOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::qcqpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* qcqpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::qcqpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* qcqpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::qcqpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* qcqpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::qcqpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpOut" ===============
+// cppName: "casadi::qcqpOut"
+// cWrapperName: "qcqpOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qcqpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qcqpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* qcqpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* qcqpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::qcqpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpStruct" ===============
+// cppName: "casadi::qcqpStruct"
+// cWrapperName: "qcqpStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::qcqpStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* qcqpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpStruct" ===============
+// cppName: "casadi::qcqpStruct"
+// cWrapperName: "qcqpStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::qcqpStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* qcqpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpStruct" ===============
+// cppName: "casadi::qcqpStruct"
+// cWrapperName: "qcqpStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qcqpStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* qcqpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qcqpStruct" ===============
+// cppName: "casadi::qcqpStruct"
+// cWrapperName: "qcqpStruct__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qcqpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qcqpStruct(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qcqpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* qcqpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::qcqpStruct(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::qpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* qpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::qpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* qpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* qpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* qpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* qpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* qpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* qpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* qpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::Sparsity* >* qpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::Sparsity* >* qpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::qpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* qpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::qpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* qpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* qpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* qpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* qpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* qpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* qpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* qpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::DMatrix* >* qpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::DMatrix* >* qpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::qpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* qpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::qpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* qpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* qpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* qpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* qpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* qpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* qpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* qpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::MX* >* qpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::MX* >* qpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::MX* >* qpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::MX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::qpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* qpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::qpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* qpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__32"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* qpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__33"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* qpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__34"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* qpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__35"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* qpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__36"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* qpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__37"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* qpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__38"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::SX* >* qpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpIn" ===============
+// cppName: "casadi::qpIn"
+// cWrapperName: "qpIn__39"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::SX* >* qpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::SX* >* qpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::SX > ret = casadi::qpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::qpOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* qpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::qpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* qpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* qpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* qpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* qpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::qpOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* qpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::qpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* qpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* qpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* qpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* qpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* qpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* qpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::qpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::qpOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* qpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* qpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::qpOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::qpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* qpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* qpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::qpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* qpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* qpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::qpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* qpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* qpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::qpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* qpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* qpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* qpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::qpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::qpOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* qpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* qpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::qpOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::qpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* qpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* qpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::qpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* qpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* qpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::qpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::qpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* qpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* qpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::qpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpOut" ===============
+// cppName: "casadi::qpOut"
+// cWrapperName: "qpOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* qpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::qpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* qpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* qpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::qpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpStruct" ===============
+// cppName: "casadi::qpStruct"
+// cWrapperName: "qpStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::qpStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* qpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpStruct" ===============
+// cppName: "casadi::qpStruct"
+// cWrapperName: "qpStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::qpStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* qpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::qpStruct" ===============
+// cppName: "casadi::qpStruct"
+// cWrapperName: "qpStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* qpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::qpStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* qpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* qpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::qpStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::ramp" ===============
+// cppName: "casadi::ramp"
+// cWrapperName: "ramp"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* ramp(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::ramp(x0_)"
+extern "C"
+casadi::SX* ramp(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* ramp(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::ramp(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::rdaeIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* rdaeIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::rdaeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* rdaeIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* rdaeIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* rdaeIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* rdaeIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* rdaeIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* rdaeIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* rdaeIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::rdaeIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* rdaeIn__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::rdaeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* rdaeIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* rdaeIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* rdaeIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* rdaeIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* rdaeIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* rdaeIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* rdaeIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::rdaeIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* rdaeIn__16(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::rdaeIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::rdaeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* rdaeIn__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::rdaeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* rdaeIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::rdaeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* rdaeIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* rdaeIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* rdaeIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* rdaeIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* rdaeIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::rdaeIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* rdaeIn__24(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::rdaeIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::rdaeIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* rdaeIn__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::rdaeIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* rdaeIn__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::rdaeIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* rdaeIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* rdaeIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* rdaeIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* rdaeIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeIn" ===============
+// cppName: "casadi::rdaeIn"
+// cWrapperName: "rdaeIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* rdaeIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::rdaeIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::rdaeOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* rdaeOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::rdaeOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* rdaeOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::rdaeOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* rdaeOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* rdaeOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::rdaeOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* rdaeOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* rdaeOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::rdaeOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::rdaeOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* rdaeOut__4(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::rdaeOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* rdaeOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::rdaeOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* rdaeOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* rdaeOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::rdaeOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* rdaeOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* rdaeOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::rdaeOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::rdaeOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* rdaeOut__8(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::rdaeOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::rdaeOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* rdaeOut__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::rdaeOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::rdaeOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* rdaeOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::rdaeOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* rdaeOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::rdaeOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* rdaeOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* rdaeOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::rdaeOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::rdaeOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* rdaeOut__12(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::rdaeOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::rdaeOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* rdaeOut__13(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::rdaeOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::rdaeOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* rdaeOut__14(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::rdaeOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rdaeOut" ===============
+// cppName: "casadi::rdaeOut"
+// cWrapperName: "rdaeOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* rdaeOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::rdaeOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* rdaeOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* rdaeOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::rdaeOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::rectangle" ===============
+// cppName: "casadi::rectangle"
+// cWrapperName: "rectangle"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* rectangle(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::rectangle(x0_)"
+extern "C"
+casadi::SX* rectangle(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* rectangle(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::rectangle(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::sdpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* sdpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::sdpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* sdpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* sdpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* sdpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* sdpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* sdpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* sdpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* sdpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::Sparsity* >* sdpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::sdpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* sdpIn__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::sdpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* sdpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* sdpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* sdpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* sdpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* sdpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* sdpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* sdpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::DMatrix* >* sdpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::sdpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* sdpIn__18(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::sdpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* sdpIn__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* sdpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* sdpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* sdpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* sdpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* sdpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* sdpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::MX* >* sdpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::MX* >* sdpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::MX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::sdpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* sdpIn__27(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::sdpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* sdpIn__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* sdpIn__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* sdpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* sdpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__32"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* sdpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__33"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* sdpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__34"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* sdpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpIn" ===============
+// cppName: "casadi::sdpIn"
+// cWrapperName: "sdpIn__35"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::SX* >* sdpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::SX* >* sdpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::SX > ret = casadi::sdpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::sdpOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* sdpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::sdpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* sdpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* sdpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* sdpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* sdpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* sdpOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* sdpOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpOut__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpOut__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* sdpOut__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::sdpOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* sdpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::sdpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* sdpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* sdpOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* sdpOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* sdpOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* sdpOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpOut__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpOut__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* sdpOut__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdpOut__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdpOut__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* sdpOut__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::sdpOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* sdpOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* sdpOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::sdpOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::sdpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* sdpOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* sdpOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::sdpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* sdpOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* sdpOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::sdpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* sdpOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* sdpOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* sdpOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* sdpOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpOut__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* sdpOut__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* sdpOut__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpOut__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* sdpOut__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* sdpOut__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdpOut__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* sdpOut__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* sdpOut__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::sdpOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* sdpOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* sdpOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::sdpOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::sdpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* sdpOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* sdpOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::sdpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* sdpOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* sdpOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::sdpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* sdpOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* sdpOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpOut__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* sdpOut__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* sdpOut__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpOut__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* sdpOut__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* sdpOut__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpOut__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* sdpOut__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* sdpOut__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpOut" ===============
+// cppName: "casadi::sdpOut"
+// cWrapperName: "sdpOut__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdpOut__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* sdpOut__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* sdpOut__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::sdpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpStruct" ===============
+// cppName: "casadi::sdpStruct"
+// cWrapperName: "sdpStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::sdpStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* sdpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpStruct" ===============
+// cppName: "casadi::sdpStruct"
+// cWrapperName: "sdpStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::sdpStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* sdpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpStruct" ===============
+// cppName: "casadi::sdpStruct"
+// cWrapperName: "sdpStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdpStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* sdpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdpStruct" ===============
+// cppName: "casadi::sdpStruct"
+// cWrapperName: "sdpStruct__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdpStruct(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* sdpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdpStruct(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::sdqpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* sdqpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::sdqpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* sdqpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* sdqpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* sdqpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* sdqpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* sdqpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* sdqpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* sdqpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::Sparsity* >* sdqpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::Sparsity* >* sdqpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::sdqpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* sdqpIn__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::sdqpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* sdqpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* sdqpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* sdqpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* sdqpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* sdqpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* sdqpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* sdqpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::DMatrix* >* sdqpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::DMatrix* >* sdqpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::sdqpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* sdqpIn__20(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::sdqpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* sdqpIn__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* sdqpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* sdqpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* sdqpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* sdqpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* sdqpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* sdqpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::MX* >* sdqpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::MX* >* sdqpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::MX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::sdqpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* sdqpIn__30(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::sdqpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* sdqpIn__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__32"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* sdqpIn__32(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__33"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* sdqpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__34"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* sdqpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__35"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* sdqpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__36"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* sdqpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__37"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* sdqpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__38"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::SX* >* sdqpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpIn" ===============
+// cppName: "casadi::sdqpIn"
+// cWrapperName: "sdqpIn__39"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::SX* >* sdqpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::SX > ret = casadi::sdqpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::sdqpOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* sdqpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::sdqpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* sdqpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* sdqpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* sdqpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* sdqpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* sdqpOut__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* sdqpOut__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpOut__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpOut__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* sdqpOut__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::sdqpOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* sdqpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::sdqpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* sdqpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* sdqpOut__10(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* sdqpOut__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* sdqpOut__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* sdqpOut__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpOut__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpOut__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* sdqpOut__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* sdqpOut__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* sdqpOut__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* sdqpOut__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::sdqpOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* sdqpOut__16(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::sdqpOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::sdqpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* sdqpOut__17(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::sdqpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* sdqpOut__18(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::sdqpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* sdqpOut__19(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* sdqpOut__20(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpOut__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpOut__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* sdqpOut__21(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpOut__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpOut__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* sdqpOut__22(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* sdqpOut__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* sdqpOut__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* sdqpOut__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::sdqpOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* sdqpOut__24(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::sdqpOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::sdqpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* sdqpOut__25(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::sdqpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* sdqpOut__26(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::sdqpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* sdqpOut__27(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpOut__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpOut__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* sdqpOut__28(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpOut__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpOut__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* sdqpOut__29(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpOut__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpOut__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* sdqpOut__30(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpOut" ===============
+// cppName: "casadi::sdqpOut"
+// cWrapperName: "sdqpOut__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* sdqpOut__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* sdqpOut__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* sdqpOut__31(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::sdqpOut(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpStruct" ===============
+// cppName: "casadi::sdqpStruct"
+// cWrapperName: "sdqpStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::sdqpStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* sdqpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpStruct" ===============
+// cppName: "casadi::sdqpStruct"
+// cWrapperName: "sdqpStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::sdqpStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* sdqpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpStruct" ===============
+// cppName: "casadi::sdqpStruct"
+// cWrapperName: "sdqpStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::sdqpStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* sdqpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpStruct" ===============
+// cppName: "casadi::sdqpStruct"
+// cWrapperName: "sdqpStruct__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::sdqpStruct(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* sdqpStruct__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpStruct(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::sdqpStruct" ===============
+// cppName: "casadi::sdqpStruct"
+// cWrapperName: "sdqpStruct__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* sdqpStruct__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::sdqpStruct(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* sdqpStruct__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* sdqpStruct__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::sdqpStruct(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::simplify" ===============
+// cppName: "casadi::simplify"
+// cWrapperName: "simplify__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
+// params: [Ref (UserType (Namespace ["casadi"]) (Name "MX"))]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void simplify__0(std::string ** err_msg, casadi::MX* x0)"
+// call: "casadi::simplify(x0_)"
+extern "C"
+void simplify__0(std::string ** err_msg, casadi::MX* x0);
+void simplify__0(std::string ** err_msg, casadi::MX* x0){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+
+        casadi::simplify(x0_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::simplify" ===============
+// cppName: "casadi::simplify"
+// cWrapperName: "simplify__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (UserType (Namespace ["casadi"]) (Name "SX"))]
+// retType: CVoid
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void simplify__1(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::simplify(x0_)"
+extern "C"
+void simplify__1(std::string ** err_msg, casadi::SX* x0);
+void simplify__1(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::simplify(x0_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::socpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* socpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::socpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* socpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* socpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* socpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* socpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* socpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* socpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* socpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::Sparsity* >* socpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::Sparsity* >* socpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::Sparsity* >* socpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::socpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* socpIn__11(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::socpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* socpIn__12(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* socpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* socpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* socpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* socpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* socpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* socpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::DMatrix* >* socpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::DMatrix* >* socpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::DMatrix* >* socpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::socpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* socpIn__22(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::socpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* socpIn__23(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* socpIn__24(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* socpIn__25(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* socpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* socpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* socpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* socpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::MX* >* socpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::MX* >* socpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__32"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::MX* >* socpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::MX* >* socpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::MX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__33"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::socpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* socpIn__33(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__34"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::socpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* socpIn__34(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__35"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* socpIn__35(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__36"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* socpIn__36(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__37"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* socpIn__37(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__38"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* socpIn__38(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__39"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* socpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__40"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* socpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__41"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::SX* >* socpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__42"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::SX* >* socpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpIn" ===============
+// cppName: "casadi::socpIn"
+// cWrapperName: "socpIn__43"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::SX* >* socpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::SX* >* socpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::SX > ret = casadi::socpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::socpOut(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* socpOut__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpOut(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::socpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* socpOut__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* socpOut__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::socpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* socpOut__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::socpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* socpOut__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::socpOut(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* socpOut__5(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpOut(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::socpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* socpOut__6(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* socpOut__7(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::socpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* socpOut__8(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* socpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::socpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* socpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* socpOut__9(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::socpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::socpOut(x0_)"
+extern "C"
+std::vector< casadi::MX* >* socpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* socpOut__10(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::socpOut(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::socpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* socpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* socpOut__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::socpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* socpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* socpOut__12(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::socpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::socpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* socpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* socpOut__13(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::socpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* socpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::socpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* socpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* socpOut__14(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::socpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::socpOut(x0_)"
+extern "C"
+std::vector< casadi::SX* >* socpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* socpOut__15(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::socpOut(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::socpOut(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* socpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* socpOut__16(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::socpOut(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpOut(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* socpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* socpOut__17(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::socpOut(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::socpOut(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* socpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* socpOut__18(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::socpOut(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpOut" ===============
+// cppName: "casadi::socpOut"
+// cWrapperName: "socpOut__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* socpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::socpOut(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* socpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* socpOut__19(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::socpOut(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpStruct" ===============
+// cppName: "casadi::socpStruct"
+// cWrapperName: "socpStruct__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::socpStruct(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* socpStruct__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpStruct(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpStruct" ===============
+// cppName: "casadi::socpStruct"
+// cWrapperName: "socpStruct__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::socpStruct(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* socpStruct__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpStruct(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::socpStruct" ===============
+// cppName: "casadi::socpStruct"
+// cWrapperName: "socpStruct__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* socpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::socpStruct(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* socpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* socpStruct__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::socpStruct(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::solve" ===============
+// cppName: "casadi::solve"
+// cWrapperName: "solve__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* solve__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// call: "casadi::solve(x0_, x1_)"
+extern "C"
+casadi::MX* solve__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX* solve__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = casadi::solve(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::solve" ===============
+// cppName: "casadi::solve"
+// cWrapperName: "solve__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const StdString)]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* solve__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
+// call: "casadi::solve(x0_, x1_, x2_)"
+extern "C"
+casadi::MX* solve__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2);
+casadi::MX* solve__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        casadi::MX ret = casadi::solve(x0_, x1_, x2_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::solve" ===============
+// cppName: "casadi::solve"
+// cWrapperName: "solve__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::solve(x0_, x1_)"
+extern "C"
+casadi::SX* solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::solve(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::solve" ===============
+// cppName: "casadi::solve"
+// cWrapperName: "solve__3"
+// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* solve__3(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1)"
+// call: "casadi::solve(x0_, x1_)"
+extern "C"
+casadi::DMatrix* solve__3(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1);
+casadi::DMatrix* solve__3(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1){
+    try {
+        casadi::DMatrix x0_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x0);
+        casadi::DMatrix x1_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x1);
+
+        casadi::DMatrix ret = casadi::solve(x0_, x1_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::solve" ===============
+// cppName: "casadi::solve"
+// cWrapperName: "solve__4"
+// protoArgs: "(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "IMatrix")))]
+// retType: UserType (Namespace ["casadi"]) (Name "IMatrix")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::IMatrix*"
+// proto: "casadi::IMatrix* solve__4(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1)"
+// call: "casadi::solve(x0_, x1_)"
+extern "C"
+casadi::IMatrix* solve__4(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1);
+casadi::IMatrix* solve__4(std::string ** err_msg, casadi::IMatrix* x0, casadi::IMatrix* x1){
+    try {
+        casadi::IMatrix x0_ = Marshaling<casadi::IMatrix,casadi::IMatrix*>::marshal(x0);
+        casadi::IMatrix x1_ = Marshaling<casadi::IMatrix,casadi::IMatrix*>::marshal(x1);
+
+        casadi::IMatrix ret = casadi::solve(x0_, x1_);
+        return WrapReturn< casadi::IMatrix*, casadi::IMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::solve" ===============
+// cppName: "casadi::solve"
+// cWrapperName: "solve__5"
+// protoArgs: "(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1, std::string* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "DMatrix"))),Ref (Const StdString)]
+// retType: UserType (Namespace ["casadi"]) (Name "DMatrix")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::DMatrix*"
+// proto: "casadi::DMatrix* solve__5(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1, std::string* x2)"
+// call: "casadi::solve(x0_, x1_, x2_)"
+extern "C"
+casadi::DMatrix* solve__5(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1, std::string* x2);
+casadi::DMatrix* solve__5(std::string ** err_msg, casadi::DMatrix* x0, casadi::DMatrix* x1, std::string* x2){
+    try {
+        casadi::DMatrix x0_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x0);
+        casadi::DMatrix x1_ = Marshaling<casadi::DMatrix,casadi::DMatrix*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        casadi::DMatrix ret = casadi::solve(x0_, x1_, x2_);
+        return WrapReturn< casadi::DMatrix*, casadi::DMatrix >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::spy" ===============
+// cppName: "casadi::spy"
+// cWrapperName: "spy"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* spy(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::spy(x0_)"
+extern "C"
+casadi::SX* spy(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* spy(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::spy(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
+// call: "casadi::stabilizedQpIn(x0_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__0(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1)"
+// call: "casadi::stabilizedQpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__1(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__2(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__3(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__4"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__5"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__5(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__6"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__6(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__7"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__7(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__10"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__10(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__11"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__11(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__11(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__11(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__12"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
+// proto: "std::vector< casadi::Sparsity* >* stabilizedQpIn__12(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+extern "C"
+std::vector< casadi::Sparsity* >* stabilizedQpIn__12(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12);
+std::vector< casadi::Sparsity* >* stabilizedQpIn__12(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12){
+    try {
+        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+        std::string x12_ = Marshaling<std::string,std::string*>::marshal(x12);
+
+        std::vector< casadi::Sparsity > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_);
+        return WrapReturn< std::vector< casadi::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__13"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0)"
+// call: "casadi::stabilizedQpIn(x0_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__13(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__14"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1)"
+// call: "casadi::stabilizedQpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__14(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__15"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__15(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__16"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__16(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__17"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__17(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__18"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__18(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__19"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__19(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__20"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__20(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__21"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__21(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__22"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__22(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__22(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__22(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__23"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__23(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__23(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__23(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__24"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__24(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__24(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__24(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__25"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DMatrix"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+// cWrapperRetType: "std::vector< casadi::DMatrix* >*"
+// proto: "std::vector< casadi::DMatrix* >* stabilizedQpIn__25(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+extern "C"
+std::vector< casadi::DMatrix* >* stabilizedQpIn__25(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12);
+std::vector< casadi::DMatrix* >* stabilizedQpIn__25(std::string ** err_msg, std::vector< casadi::DMatrix* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12){
+    try {
+        std::vector< casadi::DMatrix > x0_ = Marshaling<std::vector< casadi::DMatrix >,std::vector< casadi::DMatrix* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+        std::string x12_ = Marshaling<std::string,std::string*>::marshal(x12);
+
+        std::vector< casadi::DMatrix > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_);
+        return WrapReturn< std::vector< casadi::DMatrix* >*, std::vector< casadi::DMatrix > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__26"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
+// call: "casadi::stabilizedQpIn(x0_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0);
+std::vector< casadi::MX* >* stabilizedQpIn__26(std::string ** err_msg, std::vector< casadi::MX* >* x0){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__27"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1)"
+// call: "casadi::stabilizedQpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1);
+std::vector< casadi::MX* >* stabilizedQpIn__27(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__28"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::MX* >* stabilizedQpIn__28(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__29"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::MX* >* stabilizedQpIn__29(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__30"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::MX* >* stabilizedQpIn__30(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__31"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::MX* >* stabilizedQpIn__31(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__32"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::MX* >* stabilizedQpIn__32(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__33"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__33(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__33(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::MX* >* stabilizedQpIn__33(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__34"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__34(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__34(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::MX* >* stabilizedQpIn__34(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__35"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__35(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__35(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::MX* >* stabilizedQpIn__35(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__36"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__36(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__36(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::MX* >* stabilizedQpIn__36(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__37"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__37(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__37(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11);
+std::vector< casadi::MX* >* stabilizedQpIn__37(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__38"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* stabilizedQpIn__38(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+extern "C"
+std::vector< casadi::MX* >* stabilizedQpIn__38(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12);
+std::vector< casadi::MX* >* stabilizedQpIn__38(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12){
+    try {
+        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+        std::string x12_ = Marshaling<std::string,std::string*>::marshal(x12);
+
+        std::vector< casadi::MX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__39"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
+// call: "casadi::stabilizedQpIn(x0_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0);
+std::vector< casadi::SX* >* stabilizedQpIn__39(std::string ** err_msg, std::vector< casadi::SX* >* x0){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__40"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1)"
+// call: "casadi::stabilizedQpIn(x0_, x1_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1);
+std::vector< casadi::SX* >* stabilizedQpIn__40(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__41"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2);
+std::vector< casadi::SX* >* stabilizedQpIn__41(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__42"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3);
+std::vector< casadi::SX* >* stabilizedQpIn__42(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__43"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4);
+std::vector< casadi::SX* >* stabilizedQpIn__43(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__44"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__44(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__44(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5);
+std::vector< casadi::SX* >* stabilizedQpIn__44(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__45"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__45(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__45(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6);
+std::vector< casadi::SX* >* stabilizedQpIn__45(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__46"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__46(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__46(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7);
+std::vector< casadi::SX* >* stabilizedQpIn__46(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__47"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__47(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__47(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8);
+std::vector< casadi::SX* >* stabilizedQpIn__47(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__48"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__48(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__48(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9);
+std::vector< casadi::SX* >* stabilizedQpIn__48(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__49"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__49(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__49(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10);
+std::vector< casadi::SX* >* stabilizedQpIn__49(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__50"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__50(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__50(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11);
+std::vector< casadi::SX* >* stabilizedQpIn__50(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::stabilizedQpIn" ===============
+// cppName: "casadi::stabilizedQpIn"
+// cWrapperName: "stabilizedQpIn__51"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString),Ref (Const StdString)]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* stabilizedQpIn__51(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12)"
+// call: "casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_)"
+extern "C"
+std::vector< casadi::SX* >* stabilizedQpIn__51(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12);
+std::vector< casadi::SX* >* stabilizedQpIn__51(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::string* x1, std::string* x2, std::string* x3, std::string* x4, std::string* x5, std::string* x6, std::string* x7, std::string* x8, std::string* x9, std::string* x10, std::string* x11, std::string* x12){
+    try {
+        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
+        std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
+        std::string x2_ = Marshaling<std::string,std::string*>::marshal(x2);
+        std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
+        std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
+        std::string x5_ = Marshaling<std::string,std::string*>::marshal(x5);
+        std::string x6_ = Marshaling<std::string,std::string*>::marshal(x6);
+        std::string x7_ = Marshaling<std::string,std::string*>::marshal(x7);
+        std::string x8_ = Marshaling<std::string,std::string*>::marshal(x8);
+        std::string x9_ = Marshaling<std::string,std::string*>::marshal(x9);
+        std::string x10_ = Marshaling<std::string,std::string*>::marshal(x10);
+        std::string x11_ = Marshaling<std::string,std::string*>::marshal(x11);
+        std::string x12_ = Marshaling<std::string,std::string*>::marshal(x12);
+
+        std::vector< casadi::SX > ret = casadi::stabilizedQpIn(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_, x9_, x10_, x11_, x12_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::substitute" ===============
+// cppName: "casadi::substitute"
+// cWrapperName: "substitute__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::MX* >*"
+// proto: "std::vector< casadi::MX* >* substitute__0(std::string ** err_msg, 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* >* substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+std::vector< casadi::MX* >* substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        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::vector< casadi::MX > ret = casadi::substitute(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::substitute" ===============
+// cppName: "casadi::substitute"
+// cWrapperName: "substitute__1"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* substitute__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
+// call: "casadi::substitute(x0_, x1_, x2_)"
+extern "C"
+casadi::MX* substitute__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
+casadi::MX* substitute__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2){
+    try {
+        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);
+
+        casadi::MX ret = casadi::substitute(x0_, x1_, x2_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::substitute" ===============
+// cppName: "casadi::substitute"
+// cWrapperName: "substitute__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))]
+// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< casadi::SX* >*"
+// proto: "std::vector< casadi::SX* >* substitute__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// call: "casadi::substitute(x0_, x1_, x2_)"
+extern "C"
+std::vector< casadi::SX* >* substitute__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
+std::vector< casadi::SX* >* substitute__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
+    try {
+        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::vector< casadi::SX > ret = casadi::substitute(x0_, x1_, x2_);
+        return WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::substitute" ===============
+// cppName: "casadi::substitute"
+// cWrapperName: "substitute__3"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* substitute__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "casadi::substitute(x0_, x1_, x2_)"
+extern "C"
+casadi::SX* substitute__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX* substitute__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::substitute(x0_, x1_, x2_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__0"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
+// call: "casadi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+void substituteInPlace__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
+void substituteInPlace__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
+    try {
+        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_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__1"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__1(std::string ** err_msg, 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 substituteInPlace__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3);
+void substituteInPlace__1(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3){
+    try {
+        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_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__2"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: CVoid
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
+// call: "casadi::substituteInPlace(x0_, x1_)"
+extern "C"
+void substituteInPlace__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1);
+void substituteInPlace__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1){
+    try {
+        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_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__3"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),CBool]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2)"
+// call: "casadi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+void substituteInPlace__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2);
+void substituteInPlace__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, int x2){
+    try {
+        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_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__4"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (UserType (Namespace ["casadi"]) (Name "SX"))]
+// retType: CVoid
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::substituteInPlace(x0_, x1_)"
+extern "C"
+void substituteInPlace__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+void substituteInPlace__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::substituteInPlace(x0_, x1_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__5"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (UserType (Namespace ["casadi"]) (Name "SX")),CBool]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__5(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2)"
+// call: "casadi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+void substituteInPlace__5(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2);
+void substituteInPlace__5(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, int x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+        casadi::substituteInPlace(x0_, x1_, x2_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__6"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< casadi::SX* >* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (UserType (Namespace ["casadi"]) (Name "SX")),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__6(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< casadi::SX* >* x2)"
+// call: "casadi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+void substituteInPlace__6(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< casadi::SX* >* x2);
+void substituteInPlace__6(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< casadi::SX* >* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
+
+        casadi::substituteInPlace(x0_, x1_, x2_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__7"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< casadi::SX* >* x2, int x3)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (UserType (Namespace ["casadi"]) (Name "SX")),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),CBool]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__7(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< casadi::SX* >* x2, int x3)"
+// call: "casadi::substituteInPlace(x0_, x1_, x2_, x3_)"
+extern "C"
+void substituteInPlace__7(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< casadi::SX* >* x2, int x3);
+void substituteInPlace__7(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::vector< casadi::SX* >* x2, int x3){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,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::substituteInPlace(x0_, x1_, x2_, x3_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__8"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: CVoid
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__8(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
+// call: "casadi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+void substituteInPlace__8(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
+void substituteInPlace__8(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
+    try {
+        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::substituteInPlace(x0_, x1_, x2_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::substituteInPlace" ===============
+// cppName: "casadi::substituteInPlace"
+// cWrapperName: "substituteInPlace__9"
+// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3)"
+// params: [Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),CBool]
+// retType: CVoid
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void substituteInPlace__9(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3)"
+// call: "casadi::substituteInPlace(x0_, x1_, x2_, x3_)"
+extern "C"
+void substituteInPlace__9(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3);
+void substituteInPlace__9(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3){
+    try {
+        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);
+        bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+        casadi::substituteInPlace(x0_, x1_, x2_, x3_);
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return;
+    }
+}
+
+
+// ================== function "casadi::tangent" ===============
+// cppName: "casadi::tangent"
+// cWrapperName: "tangent__0"
+// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "MX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "MX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::MX*"
+// proto: "casadi::MX* tangent__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
+// call: "casadi::tangent(x0_, x1_)"
+extern "C"
+casadi::MX* tangent__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
+casadi::MX* tangent__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
+    try {
+        casadi::MX x0_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x0);
+        casadi::MX x1_ = Marshaling<casadi::MX,casadi::MX*>::marshal(x1);
+
+        casadi::MX ret = casadi::tangent(x0_, x1_);
+        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::tangent" ===============
+// cppName: "casadi::tangent"
+// cWrapperName: "tangent__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* tangent__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::tangent(x0_, x1_)"
+extern "C"
+casadi::SX* tangent__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* tangent__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::tangent(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::taylor" ===============
+// cppName: "casadi::taylor"
+// cWrapperName: "taylor__0"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
+// call: "casadi::taylor(x0_, x1_)"
+extern "C"
+casadi::SX* taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
+casadi::SX* taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+
+        casadi::SX ret = casadi::taylor(x0_, x1_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::taylor" ===============
+// cppName: "casadi::taylor"
+// cWrapperName: "taylor__1"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
+// call: "casadi::taylor(x0_, x1_, x2_)"
+extern "C"
+casadi::SX* taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
+casadi::SX* taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+
+        casadi::SX ret = casadi::taylor(x0_, x1_, x2_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::taylor" ===============
+// cppName: "casadi::taylor"
+// cWrapperName: "taylor__2"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),CInt]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
+// call: "casadi::taylor(x0_, x1_, x2_, x3_)"
+extern "C"
+casadi::SX* taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
+casadi::SX* taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+        casadi::SX x1_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x1);
+        casadi::SX x2_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x2);
+        int x3_ = Marshaling<int,int>::marshal(x3);
+
+        casadi::SX ret = casadi::taylor(x0_, x1_, x2_, x3_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
+// ================== function "casadi::triangle" ===============
+// cppName: "casadi::triangle"
+// cWrapperName: "triangle"
+// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
+// params: [Ref (Const (UserType (Namespace ["casadi"]) (Name "SX")))]
+// retType: UserType (Namespace ["casadi"]) (Name "SX")
+// args: "(x0_)"
+// cWrapperRetType: "casadi::SX*"
+// proto: "casadi::SX* triangle(std::string ** err_msg, casadi::SX* x0)"
+// call: "casadi::triangle(x0_)"
+extern "C"
+casadi::SX* triangle(std::string ** err_msg, casadi::SX* x0);
+casadi::SX* triangle(std::string ** err_msg, casadi::SX* x0){
+    try {
+        casadi::SX x0_ = Marshaling<casadi::SX,casadi::SX*>::marshal(x0);
+
+        casadi::SX ret = casadi::triangle(x0_);
+        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
+
+
diff --git a/cbits/autogen/core_classes.cpp b/cbits/autogen/core_classes.cpp
deleted file mode 100644
# file too large to diff: cbits/autogen/core_classes.cpp
diff --git a/cbits/autogen/core_functions.cpp b/cbits/autogen/core_functions.cpp
deleted file mode 100644
# file too large to diff: cbits/autogen/core_functions.cpp
diff --git a/cbits/custom_wrappers.cpp b/cbits/custom_wrappers.cpp
new file mode 100644
--- /dev/null
+++ b/cbits/custom_wrappers.cpp
@@ -0,0 +1,18 @@
+#include <casadi/casadi.hpp>
+#include <cmath>
+#include <stdexcept>
+#include "marshal.hpp"
+
+extern "C"
+std::string * casadi__custom__generateCode(std::string ** err_msg, casadi::Function* obj, int x0);
+std::string * casadi__custom__generateCode(std::string ** err_msg, casadi::Function* obj, int x0){
+    try {
+        bool x0_ = Marshaling<bool,int>::marshal(x0);
+        std::stringstream ret;
+        obj->generateCode(ret, x0_);
+        return new std::string(ret.str());
+    } catch (std::exception& ex) {
+         *err_msg = new std::string(ex.what());
+         return 0;
+    }
+}
