packages feed

casadi-bindings-core-3.4.5.0: cbits/autogen/casadi_wrap_classes.cpp

#include <casadi/casadi.hpp>
#include <casadi/core/casadi_interrupt.hpp>
#include <cmath>
#include <stdexcept>
#include <typeinfo>
#include "../marshal.hpp"

// ================== delete UserType (Namespace ["casadi"]) (Name "Callback")===============
// classType: UserType (Namespace ["casadi"]) (Name "Callback")
extern "C"
void delete_casadi__Callback(casadi::Callback* obj);
void delete_casadi__Callback(casadi::Callback* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback"
// cWrapperName: "casadi__Callback__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::Callback* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Callback")
// cWrapperRetType: "casadi::Callback*"
// proto: "casadi::Callback*\n    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0)"
// call: "        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Callback"))),SwigOutput False)]
extern "C"
casadi::Callback*
    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0);
casadi::Callback*
    casadi__Callback__CONSTRUCTOR__0(std::string ** err_msg, casadi::Callback* x0){
    try {
        casadi::Callback& x0_ = Marshaling<casadi::Callback&,casadi::Callback*>::marshal(x0);

        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback"
// cWrapperName: "casadi__Callback__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Callback")
// cWrapperRetType: "casadi::Callback*"
// proto: "casadi::Callback*\n    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg)"
// call: "        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback();"
// params: []
extern "C"
casadi::Callback*
    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg);
casadi::Callback*
    casadi__Callback__CONSTRUCTOR__1(std::string ** err_msg){
    try {

        casadi::Callback* ret = (casadi::Callback*)new casadi::Callback();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "alloc_arg" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::alloc_arg"
// cWrapperName: "casadi__Callback__alloc_arg__0"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__alloc_arg__0(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
// call: "        obj->alloc_arg(x0_);"
// params: [(CSize,SwigOutput False)]
extern "C"
void
    casadi__Callback__alloc_arg__0(std::string ** err_msg, casadi::Callback* obj, size_t x0);
void
    casadi__Callback__alloc_arg__0(std::string ** err_msg, casadi::Callback* obj, size_t x0){
    try {
        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);

        obj->alloc_arg(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "alloc_arg" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::alloc_arg"
// cWrapperName: "casadi__Callback__alloc_arg__1"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__alloc_arg__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
// call: "        obj->alloc_arg(x0_, x1_);"
// params: [(CSize,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Callback__alloc_arg__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1);
void
    casadi__Callback__alloc_arg__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1){
    try {
        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->alloc_arg(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "alloc_iw" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::alloc_iw"
// cWrapperName: "casadi__Callback__alloc_iw__0"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__alloc_iw__0(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
// call: "        obj->alloc_iw(x0_);"
// params: [(CSize,SwigOutput False)]
extern "C"
void
    casadi__Callback__alloc_iw__0(std::string ** err_msg, casadi::Callback* obj, size_t x0);
void
    casadi__Callback__alloc_iw__0(std::string ** err_msg, casadi::Callback* obj, size_t x0){
    try {
        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);

        obj->alloc_iw(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "alloc_iw" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::alloc_iw"
// cWrapperName: "casadi__Callback__alloc_iw__1"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__alloc_iw__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
// call: "        obj->alloc_iw(x0_, x1_);"
// params: [(CSize,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Callback__alloc_iw__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1);
void
    casadi__Callback__alloc_iw__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1){
    try {
        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->alloc_iw(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "alloc_res" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::alloc_res"
// cWrapperName: "casadi__Callback__alloc_res__0"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__alloc_res__0(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
// call: "        obj->alloc_res(x0_);"
// params: [(CSize,SwigOutput False)]
extern "C"
void
    casadi__Callback__alloc_res__0(std::string ** err_msg, casadi::Callback* obj, size_t x0);
void
    casadi__Callback__alloc_res__0(std::string ** err_msg, casadi::Callback* obj, size_t x0){
    try {
        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);

        obj->alloc_res(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "alloc_res" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::alloc_res"
// cWrapperName: "casadi__Callback__alloc_res__1"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__alloc_res__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
// call: "        obj->alloc_res(x0_, x1_);"
// params: [(CSize,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Callback__alloc_res__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1);
void
    casadi__Callback__alloc_res__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1){
    try {
        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->alloc_res(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "alloc_w" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::alloc_w"
// cWrapperName: "casadi__Callback__alloc_w__0"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__alloc_w__0(std::string ** err_msg, casadi::Callback* obj, size_t x0)"
// call: "        obj->alloc_w(x0_);"
// params: [(CSize,SwigOutput False)]
extern "C"
void
    casadi__Callback__alloc_w__0(std::string ** err_msg, casadi::Callback* obj, size_t x0);
void
    casadi__Callback__alloc_w__0(std::string ** err_msg, casadi::Callback* obj, size_t x0){
    try {
        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);

        obj->alloc_w(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "alloc_w" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::alloc_w"
// cWrapperName: "casadi__Callback__alloc_w__1"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__alloc_w__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1)"
// call: "        obj->alloc_w(x0_, x1_);"
// params: [(CSize,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Callback__alloc_w__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1);
void
    casadi__Callback__alloc_w__1(std::string ** err_msg, casadi::Callback* obj, size_t x0, int x1){
    try {
        size_t x0_ = Marshaling<size_t,size_t>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->alloc_w(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "construct" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::construct"
// cWrapperName: "casadi__Callback__construct__0"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0)"
// call: "        obj->construct(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0);
void
    casadi__Callback__construct__0(std::string ** err_msg, casadi::Callback* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->construct(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "construct" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::construct"
// cWrapperName: "casadi__Callback__construct__1"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        obj->construct(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
void
    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
void
    casadi__Callback__construct__1(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        obj->construct(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "eval" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::eval"
// cWrapperName: "casadi__Callback__eval"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0)"
// call: "        std::vector< casadi::DM > ret = obj->eval(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
extern "C"
std::vector< casadi::DM* >*
    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0);
std::vector< casadi::DM* >*
    casadi__Callback__eval(std::string ** err_msg, casadi::Callback* obj, std::vector< casadi::DM* >* x0){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);

        std::vector< casadi::DM > ret = obj->eval(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "finalize" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::finalize"
// cWrapperName: "casadi__Callback__finalize"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj)"
// call: "        obj->finalize();"
// params: []
extern "C"
void
    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj);
void
    casadi__Callback__finalize(std::string ** err_msg, casadi::Callback* obj){
    try {

        obj->finalize();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_forward" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_forward"
// cWrapperName: "casadi__Callback__get_forward"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "        casadi::Function ret = obj->get_forward(x0_, x1_, x2_, x3_, x4_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    casadi__Callback__get_forward(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        casadi::Function ret = obj->get_forward(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_jacobian" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_jacobian"
// cWrapperName: "casadi__Callback__get_jacobian"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Function ret = obj->get_jacobian(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    casadi__Callback__get_jacobian(std::string ** err_msg, casadi::Callback* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Function ret = obj->get_jacobian(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_n_in" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_n_in"
// cWrapperName: "casadi__Callback__get_n_in"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj)"
// call: "        long long ret = obj->get_n_in();"
// params: []
extern "C"
long long
    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj);
long long
    casadi__Callback__get_n_in(std::string ** err_msg, casadi::Callback* obj){
    try {

        long long ret = obj->get_n_in();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_n_out" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_n_out"
// cWrapperName: "casadi__Callback__get_n_out"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj)"
// call: "        long long ret = obj->get_n_out();"
// params: []
extern "C"
long long
    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj);
long long
    casadi__Callback__get_n_out(std::string ** err_msg, casadi::Callback* obj){
    try {

        long long ret = obj->get_n_out();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_name_in" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_name_in"
// cWrapperName: "casadi__Callback__get_name_in"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// call: "        std::string ret = obj->get_name_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, long long x0);
std::string*
    casadi__Callback__get_name_in(std::string ** err_msg, casadi::Callback* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = obj->get_name_in(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_name_out" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_name_out"
// cWrapperName: "casadi__Callback__get_name_out"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// call: "        std::string ret = obj->get_name_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, long long x0);
std::string*
    casadi__Callback__get_name_out(std::string ** err_msg, casadi::Callback* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = obj->get_name_out(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_reverse" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_reverse"
// cWrapperName: "casadi__Callback__get_reverse"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "        casadi::Function ret = obj->get_reverse(x0_, x1_, x2_, x3_, x4_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    casadi__Callback__get_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        casadi::Function ret = obj->get_reverse(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_sparsity_in" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_sparsity_in"
// cWrapperName: "casadi__Callback__get_sparsity_in"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// call: "        casadi::Sparsity ret = obj->get_sparsity_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, long long x0);
casadi::Sparsity*
    casadi__Callback__get_sparsity_in(std::string ** err_msg, casadi::Callback* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = obj->get_sparsity_in(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_sparsity_out" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::get_sparsity_out"
// cWrapperName: "casadi__Callback__get_sparsity_out"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// call: "        casadi::Sparsity ret = obj->get_sparsity_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, long long x0);
casadi::Sparsity*
    casadi__Callback__get_sparsity_out(std::string ** err_msg, casadi::Callback* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = obj->get_sparsity_out(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_forward" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::has_forward"
// cWrapperName: "casadi__Callback__has_forward"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Callback__has_forward(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// call: "        bool ret = obj->has_forward(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__Callback__has_forward(std::string ** err_msg, casadi::Callback* obj, long long x0);
int
    casadi__Callback__has_forward(std::string ** err_msg, casadi::Callback* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        bool ret = obj->has_forward(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_jacobian" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::has_jacobian"
// cWrapperName: "casadi__Callback__has_jacobian"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj)"
// call: "        bool ret = obj->has_jacobian();"
// params: []
extern "C"
int
    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj);
int
    casadi__Callback__has_jacobian(std::string ** err_msg, casadi::Callback* obj){
    try {

        bool ret = obj->has_jacobian();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_reverse" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::has_reverse"
// cWrapperName: "casadi__Callback__has_reverse"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Callback__has_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0)"
// call: "        bool ret = obj->has_reverse(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__Callback__has_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0);
int
    casadi__Callback__has_reverse(std::string ** err_msg, casadi::Callback* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        bool ret = obj->has_reverse(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "init" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::init"
// cWrapperName: "casadi__Callback__init"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj)"
// call: "        obj->init();"
// params: []
extern "C"
void
    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj);
void
    casadi__Callback__init(std::string ** err_msg, casadi::Callback* obj){
    try {

        obj->init();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::type_name"
// cWrapperName: "casadi__Callback__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Callback__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::Callback::type_name();"
// params: []
extern "C"
std::string*
    casadi__Callback__type_name(std::string ** err_msg);
std::string*
    casadi__Callback__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::Callback::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "uses_output" ===============
// class: "casadi::Callback"
// cppName: "casadi::Callback::uses_output"
// cWrapperName: "casadi__Callback__uses_output"
// protoArgs: "(std::string ** err_msg, casadi::Callback* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Callback__uses_output(std::string ** err_msg, casadi::Callback* obj)"
// call: "        bool ret = obj->uses_output();"
// params: []
extern "C"
int
    casadi__Callback__uses_output(std::string ** err_msg, casadi::Callback* obj);
int
    casadi__Callback__uses_output(std::string ** err_msg, casadi::Callback* obj){
    try {

        bool ret = obj->uses_output();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "CasadiMeta")===============
// classType: UserType (Namespace ["casadi"]) (Name "CasadiMeta")
extern "C"
void delete_casadi__CasadiMeta(casadi::CasadiMeta* obj);
void delete_casadi__CasadiMeta(casadi::CasadiMeta* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "CodeGenerator")===============
// classType: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
extern "C"
void delete_casadi__CodeGenerator(casadi::CodeGenerator* obj);
void delete_casadi__CodeGenerator(casadi::CodeGenerator* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator"
// cWrapperName: "casadi__CodeGenerator__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
// cWrapperRetType: "casadi::CodeGenerator*"
// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
// call: "        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::CodeGenerator*
    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
casadi::CodeGenerator*
    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator"
// cWrapperName: "casadi__CodeGenerator__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
// cWrapperRetType: "casadi::CodeGenerator*"
// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::CodeGenerator*
    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
casadi::CodeGenerator*
    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::add"
// cWrapperName: "casadi__CodeGenerator__add__0"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0)"
// call: "        obj->add(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
void
    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0);
void
    casadi__CodeGenerator__add__0(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        obj->add(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::add"
// cWrapperName: "casadi__CodeGenerator__add__1"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, int x1)"
// call: "        obj->add(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, int x1);
void
    casadi__CodeGenerator__add__1(std::string ** err_msg, casadi::CodeGenerator* obj, casadi::Function* x0, int x1){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->add(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_include" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::add_include"
// cWrapperName: "casadi__CodeGenerator__add_include__0"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__add_include__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// call: "        obj->add_include(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__CodeGenerator__add_include__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
void
    casadi__CodeGenerator__add_include__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->add_include(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_include" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::add_include"
// cWrapperName: "casadi__CodeGenerator__add_include__1"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__add_include__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1)"
// call: "        obj->add_include(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__CodeGenerator__add_include__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1);
void
    casadi__CodeGenerator__add_include__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->add_include(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_include" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::add_include"
// cWrapperName: "casadi__CodeGenerator__add_include__2"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__CodeGenerator__add_include__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2)"
// call: "        obj->add_include(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__CodeGenerator__add_include__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2);
void
    casadi__CodeGenerator__add_include__2(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, int x1, std::string* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        obj->add_include(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "dump" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::dump"
// cWrapperName: "casadi__CodeGenerator__dump"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj)"
// call: "        std::string ret = obj->dump();"
// params: []
extern "C"
std::string*
    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj);
std::string*
    casadi__CodeGenerator__dump(std::string ** err_msg, casadi::CodeGenerator* obj){
    try {

        std::string ret = obj->dump();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::generate"
// cWrapperName: "casadi__CodeGenerator__generate__0"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj)"
// call: "        std::string ret = obj->generate();"
// params: []
extern "C"
std::string*
    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj);
std::string*
    casadi__CodeGenerator__generate__0(std::string ** err_msg, casadi::CodeGenerator* obj){
    try {

        std::string ret = obj->generate();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::CodeGenerator"
// cppName: "casadi::CodeGenerator::generate"
// cWrapperName: "casadi__CodeGenerator__generate__1"
// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
// call: "        std::string ret = obj->generate(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
std::string*
    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->generate(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "DM")===============
// classType: UserType (Namespace ["casadi"]) (Name "DM")
extern "C"
void delete_casadi__DM(casadi::DM* obj);
void delete_casadi__DM(casadi::DM* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0);
casadi::DM*
    casadi__DM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SXElem")))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0);
casadi::DM*
    casadi__DM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0){
    try {
        std::vector< casadi::SXElem > x0_ = Marshaling<std::vector< casadi::SXElem >,std::vector< casadi::SXElem* >*>::marshal(x0);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0);
casadi::DM*
    casadi__DM__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0);
casadi::DM*
    casadi__DM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
casadi::DM*
    casadi__DM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
    try {
        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
// params: [(CDouble,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0);
casadi::DM*
    casadi__DM__CONSTRUCTOR__5(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1);
casadi::DM*
    casadi__DM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::DM* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DM*
    casadi__DM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1);
casadi::DM*
    casadi__DM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi__DM__CONSTRUCTOR__9(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM* ret = (casadi::DM*)new casadi::DM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DM"
// cppName: "casadi::DM"
// cWrapperName: "casadi__DM__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg)"
// call: "        casadi::DM* ret = (casadi::DM*)new casadi::DM();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg);
casadi::DM*
    casadi__DM__CONSTRUCTOR__10(std::string ** err_msg){
    try {

        casadi::DM* ret = (casadi::DM*)new casadi::DM();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::T"
// cWrapperName: "casadi__DM__T"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__T(std::string ** err_msg, casadi::DM* obj)"
// call: "        casadi::DM ret = obj->T();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__T(std::string ** err_msg, casadi::DM* obj);
casadi::DM*
    casadi__DM__T(std::string ** err_msg, casadi::DM* obj){
    try {

        casadi::DM ret = obj->T();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "__nonzero__" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::__nonzero__"
// cWrapperName: "casadi__DM____nonzero__"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->__nonzero__();"
// params: []
extern "C"
int
    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM____nonzero__(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->__nonzero__();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "binary" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::binary"
// cWrapperName: "casadi__DM__binary"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__binary(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
// call: "        casadi::DM ret = casadi::DM::binary(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__binary(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi__DM__binary(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);

        casadi::DM ret = casadi::DM::binary(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clear" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::clear"
// cWrapperName: "casadi__DM__clear"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj)"
// call: "        obj->clear();"
// params: []
extern "C"
void
    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj);
void
    casadi__DM__clear(std::string ** err_msg, casadi::DM* obj){
    try {

        obj->clear();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::colind"
// cWrapperName: "casadi__DM__colind"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, long long x0)"
// call: "        long long ret = obj->colind(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, long long x0);
long long
    casadi__DM__colind(std::string ** err_msg, casadi::DM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->colind(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "columns" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::columns"
// cWrapperName: "casadi__DM__columns"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__columns(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->columns();"
// params: []
extern "C"
long long
    casadi__DM__columns(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__columns(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->columns();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dep" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::dep"
// cWrapperName: "casadi__DM__dep__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj)"
// call: "        casadi::DM ret = obj->dep();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj);
casadi::DM*
    casadi__DM__dep__0(std::string ** err_msg, casadi::DM* obj){
    try {

        casadi::DM ret = obj->dep();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dep" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::dep"
// cWrapperName: "casadi__DM__dep__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, long long x0)"
// call: "        casadi::DM ret = obj->dep(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, long long x0);
casadi::DM*
    casadi__DM__dep__1(std::string ** err_msg, casadi::DM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM ret = obj->dep(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::dim"
// cWrapperName: "casadi__DM__dim__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DM__dim__0(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::string ret = obj->dim();"
// params: []
extern "C"
std::string*
    casadi__DM__dim__0(std::string ** err_msg, casadi::DM* obj);
std::string*
    casadi__DM__dim__0(std::string ** err_msg, casadi::DM* obj){
    try {

        std::string ret = obj->dim();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::dim"
// cWrapperName: "casadi__DM__dim__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DM__dim__1(std::string ** err_msg, casadi::DM* obj, int x0)"
// call: "        std::string ret = obj->dim(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__DM__dim__1(std::string ** err_msg, casadi::DM* obj, int x0);
std::string*
    casadi__DM__dim__1(std::string ** err_msg, casadi::DM* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->dim(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "element_hash" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::element_hash"
// cWrapperName: "casadi__DM__element_hash"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->element_hash();"
// params: []
extern "C"
long long
    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__element_hash(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->element_hash();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::enlarge"
// cWrapperName: "casadi__DM__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
void
    casadi__DM__enlarge__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::enlarge"
// cWrapperName: "casadi__DM__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
void
    casadi__DM__enlarge__1(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::erase"
// cWrapperName: "casadi__DM__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0)"
// call: "        obj->erase(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0);
void
    casadi__DM__erase__0(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        obj->erase(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::erase"
// cWrapperName: "casadi__DM__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, int x1)"
// call: "        obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, int x1);
void
    casadi__DM__erase__1(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, int x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::erase"
// cWrapperName: "casadi__DM__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1);
void
    casadi__DM__erase__2(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::erase"
// cWrapperName: "casadi__DM__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// call: "        obj->erase(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
void
    casadi__DM__erase__3(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->erase(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "export_code" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::export_code"
// cWrapperName: "casadi__DM__export_code"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__export_code(std::string ** err_msg, casadi::DM* obj, std::string* x0)"
// call: "        obj->export_code(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__DM__export_code(std::string ** err_msg, casadi::DM* obj, std::string* x0);
void
    casadi__DM__export_code(std::string ** err_msg, casadi::DM* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->export_code(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "eye" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::eye"
// cWrapperName: "casadi__DM__eye"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__eye(std::string ** err_msg, long long x0)"
// call: "        casadi::DM ret = casadi::DM::eye(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__eye(std::string ** err_msg, long long x0);
casadi::DM*
    casadi__DM__eye(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM ret = casadi::DM::eye(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "from_info" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::from_info"
// cWrapperName: "casadi__DM__from_info"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// call: "        casadi::DM ret = casadi::DM::from_info(x0_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
casadi::DM*
    casadi__DM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        casadi::DM ret = casadi::DM::from_info(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get"
// cWrapperName: "casadi__DM__get__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi__DM__get__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get"
// cWrapperName: "casadi__DM__get__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
void
    casadi__DM__get__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get"
// cWrapperName: "casadi__DM__get__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
void
    casadi__DM__get__2(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get"
// cWrapperName: "casadi__DM__get__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__DM__get__3(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get"
// cWrapperName: "casadi__DM__get__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2);
void
    casadi__DM__get__4(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get"
// cWrapperName: "casadi__DM__get__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2);
void
    casadi__DM__get__5(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get"
// cWrapperName: "casadi__DM__get__6"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2);
void
    casadi__DM__get__6(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_colind" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_colind"
// cWrapperName: "casadi__DM__get_colind"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::vector< long long > ret = obj->get_colind();"
// params: []
extern "C"
std::vector< long long >*
    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj);
std::vector< long long >*
    casadi__DM__get_colind(std::string ** err_msg, casadi::DM* obj){
    try {

        std::vector< long long > ret = obj->get_colind();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_elements" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_elements"
// cWrapperName: "casadi__DM__get_elements"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DM__get_elements(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::vector< double > ret = obj->get_elements();"
// params: []
extern "C"
std::vector< double >*
    casadi__DM__get_elements(std::string ** err_msg, casadi::DM* obj);
std::vector< double >*
    casadi__DM__get_elements(std::string ** err_msg, casadi::DM* obj){
    try {

        std::vector< double > ret = obj->get_elements();

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_free" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_free"
// cWrapperName: "casadi__DM__get_free"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0)"
// call: "        std::vector< casadi::DM > ret = casadi::DM::get_free(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
std::vector< casadi::DM* >*
    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0);
std::vector< casadi::DM* >*
    casadi__DM__get_free(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        std::vector< casadi::DM > ret = casadi::DM::get_free(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_input" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_input"
// cWrapperName: "casadi__DM__get_input"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0)"
// call: "        std::vector< casadi::DM > ret = casadi::DM::get_input(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
std::vector< casadi::DM* >*
    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0);
std::vector< casadi::DM* >*
    casadi__DM__get_input(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        std::vector< casadi::DM > ret = casadi::DM::get_input(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_max_depth" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_max_depth"
// cWrapperName: "casadi__DM__get_max_depth"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__get_max_depth(std::string ** err_msg)"
// call: "        long long ret = casadi::DM::get_max_depth();"
// params: []
extern "C"
long long
    casadi__DM__get_max_depth(std::string ** err_msg);
long long
    casadi__DM__get_max_depth(std::string ** err_msg){
    try {

        long long ret = casadi::DM::get_max_depth();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nonzeros" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_nonzeros"
// cWrapperName: "casadi__DM__get_nonzeros"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::vector< double > ret = obj->get_nonzeros();"
// params: []
extern "C"
std::vector< double >*
    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj);
std::vector< double >*
    casadi__DM__get_nonzeros(std::string ** err_msg, casadi::DM* obj){
    try {

        std::vector< double > ret = obj->get_nonzeros();

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_nz"
// cWrapperName: "casadi__DM__get_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2)"
// call: "        obj->get_nz(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2);
void
    casadi__DM__get_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::IM* x2){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->get_nz(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_nz"
// cWrapperName: "casadi__DM__get_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2)"
// call: "        obj->get_nz(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2);
void
    casadi__DM__get_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM** x0, int x1, casadi::Slice* x2){
    try {
        casadi::DM x0_ = casadi::DM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get_nz(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_row" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_row"
// cWrapperName: "casadi__DM__get_row"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::vector< long long > ret = obj->get_row();"
// params: []
extern "C"
std::vector< long long >*
    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj);
std::vector< long long >*
    casadi__DM__get_row(std::string ** err_msg, casadi::DM* obj){
    try {

        std::vector< long long > ret = obj->get_row();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_sparsity" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_sparsity"
// cWrapperName: "casadi__DM__get_sparsity"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj)"
// call: "        casadi::Sparsity ret = obj->get_sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj);
casadi::Sparsity*
    casadi__DM__get_sparsity(std::string ** err_msg, casadi::DM* obj){
    try {

        casadi::Sparsity ret = obj->get_sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_str"
// cWrapperName: "casadi__DM__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DM__get_str__0(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__DM__get_str__0(std::string ** err_msg, casadi::DM* obj);
std::string*
    casadi__DM__get_str__0(std::string ** err_msg, casadi::DM* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::get_str"
// cWrapperName: "casadi__DM__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DM__get_str__1(std::string ** err_msg, casadi::DM* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__DM__get_str__1(std::string ** err_msg, casadi::DM* obj, int x0);
std::string*
    casadi__DM__get_str__1(std::string ** err_msg, casadi::DM* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_duplicates" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::has_duplicates"
// cWrapperName: "casadi__DM__has_duplicates"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->has_duplicates();"
// params: []
extern "C"
int
    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__has_duplicates(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->has_duplicates();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_nz" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::has_nz"
// cWrapperName: "casadi__DM__has_nz"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
// call: "        bool ret = obj->has_nz(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1);
int
    casadi__DM__has_nz(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        bool ret = obj->has_nz(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_zeros" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::has_zeros"
// cWrapperName: "casadi__DM__has_zeros"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->has_zeros();"
// params: []
extern "C"
int
    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__has_zeros(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->has_zeros();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::inf"
// cWrapperName: "casadi__DM__inf__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::DM*
    casadi__DM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::DM ret = casadi::DM::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::inf"
// cWrapperName: "casadi__DM__inf__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__inf__1(std::string ** err_msg)"
// call: "        casadi::DM ret = casadi::DM::inf();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__inf__1(std::string ** err_msg);
casadi::DM*
    casadi__DM__inf__1(std::string ** err_msg){
    try {

        casadi::DM ret = casadi::DM::inf();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::inf"
// cWrapperName: "casadi__DM__inf__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__inf__2(std::string ** err_msg, long long x0)"
// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__inf__2(std::string ** err_msg, long long x0);
casadi::DM*
    casadi__DM__inf__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM ret = casadi::DM::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::inf"
// cWrapperName: "casadi__DM__inf__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__inf__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::DM ret = casadi::DM::inf(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__inf__3(std::string ** err_msg, long long x0, long long x1);
casadi::DM*
    casadi__DM__inf__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = casadi::DM::inf(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::inf"
// cWrapperName: "casadi__DM__inf__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::DM ret = casadi::DM::inf(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DM*
    casadi__DM__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DM ret = casadi::DM::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "info" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::info"
// cWrapperName: "casadi__DM__info"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__DM__info(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__DM__info(std::string ** err_msg, casadi::DM* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__DM__info(std::string ** err_msg, casadi::DM* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->info();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_column" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_column"
// cWrapperName: "casadi__DM__is_column"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_column();"
// params: []
extern "C"
int
    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_column(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_column();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_commutative" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_commutative"
// cWrapperName: "casadi__DM__is_commutative"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_commutative();"
// params: []
extern "C"
int
    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_commutative(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_commutative();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_constant" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_constant"
// cWrapperName: "casadi__DM__is_constant"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_constant();"
// params: []
extern "C"
int
    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_constant(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_constant();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_dense" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_dense"
// cWrapperName: "casadi__DM__is_dense"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_dense();"
// params: []
extern "C"
int
    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_dense(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_dense();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_empty"
// cWrapperName: "casadi__DM__is_empty__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_empty();"
// params: []
extern "C"
int
    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_empty__0(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_empty();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_empty"
// cWrapperName: "casadi__DM__is_empty__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0)"
// call: "        bool ret = obj->is_empty(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0);
int
    casadi__DM__is_empty__1(std::string ** err_msg, casadi::DM* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_empty(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_eye" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_eye"
// cWrapperName: "casadi__DM__is_eye"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_eye(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_eye();"
// params: []
extern "C"
int
    casadi__DM__is_eye(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_eye(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_eye();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_integer" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_integer"
// cWrapperName: "casadi__DM__is_integer"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_integer();"
// params: []
extern "C"
int
    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_integer(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_integer();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_leaf" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_leaf"
// cWrapperName: "casadi__DM__is_leaf"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_leaf();"
// params: []
extern "C"
int
    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_leaf(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_leaf();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_minus_one" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_minus_one"
// cWrapperName: "casadi__DM__is_minus_one"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_minus_one();"
// params: []
extern "C"
int
    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_minus_one(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_minus_one();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_one" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_one"
// cWrapperName: "casadi__DM__is_one"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_one();"
// params: []
extern "C"
int
    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_one(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_one();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_op" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_op"
// cWrapperName: "casadi__DM__is_op"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_op(std::string ** err_msg, casadi::DM* obj, long long x0)"
// call: "        bool ret = obj->is_op(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__DM__is_op(std::string ** err_msg, casadi::DM* obj, long long x0);
int
    casadi__DM__is_op(std::string ** err_msg, casadi::DM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        bool ret = obj->is_op(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_regular" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_regular"
// cWrapperName: "casadi__DM__is_regular"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_regular();"
// params: []
extern "C"
int
    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_regular(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_regular();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_row" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_row"
// cWrapperName: "casadi__DM__is_row"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_row();"
// params: []
extern "C"
int
    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_row(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_row();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_scalar"
// cWrapperName: "casadi__DM__is_scalar__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_scalar();"
// params: []
extern "C"
int
    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_scalar__0(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_scalar();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_scalar"
// cWrapperName: "casadi__DM__is_scalar__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0)"
// call: "        bool ret = obj->is_scalar(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0);
int
    casadi__DM__is_scalar__1(std::string ** err_msg, casadi::DM* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_scalar(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_smooth" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_smooth"
// cWrapperName: "casadi__DM__is_smooth"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_smooth();"
// params: []
extern "C"
int
    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_smooth(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_smooth();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_square" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_square"
// cWrapperName: "casadi__DM__is_square"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_square();"
// params: []
extern "C"
int
    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_square(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_square();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_symbolic" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_symbolic"
// cWrapperName: "casadi__DM__is_symbolic"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_symbolic();"
// params: []
extern "C"
int
    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_symbolic(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_symbolic();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_tril" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_tril"
// cWrapperName: "casadi__DM__is_tril"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_tril();"
// params: []
extern "C"
int
    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_tril(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_tril();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_triu" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_triu"
// cWrapperName: "casadi__DM__is_triu"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_triu();"
// params: []
extern "C"
int
    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_triu(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_triu();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_valid_input" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_valid_input"
// cWrapperName: "casadi__DM__is_valid_input"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_valid_input();"
// params: []
extern "C"
int
    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_valid_input(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_valid_input();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_vector" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_vector"
// cWrapperName: "casadi__DM__is_vector"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_vector();"
// params: []
extern "C"
int
    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_vector(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_zero" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::is_zero"
// cWrapperName: "casadi__DM__is_zero"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj)"
// call: "        bool ret = obj->is_zero();"
// params: []
extern "C"
int
    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj);
int
    casadi__DM__is_zero(std::string ** err_msg, casadi::DM* obj){
    try {

        bool ret = obj->is_zero();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_matrix" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::matrix_matrix"
// cWrapperName: "casadi__DM__matrix_matrix"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__matrix_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
// call: "        casadi::DM ret = casadi::DM::matrix_matrix(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__matrix_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi__DM__matrix_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);

        casadi::DM ret = casadi::DM::matrix_matrix(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_scalar" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::matrix_scalar"
// cWrapperName: "casadi__DM__matrix_scalar"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__matrix_scalar(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
// call: "        casadi::DM ret = casadi::DM::matrix_scalar(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__matrix_scalar(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi__DM__matrix_scalar(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);

        casadi::DM ret = casadi::DM::matrix_scalar(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_dep" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::n_dep"
// cWrapperName: "casadi__DM__n_dep"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->n_dep();"
// params: []
extern "C"
long long
    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__n_dep(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->n_dep();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::name"
// cWrapperName: "casadi__DM__name"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DM__name(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::string ret = obj->name();"
// params: []
extern "C"
std::string*
    casadi__DM__name(std::string ** err_msg, casadi::DM* obj);
std::string*
    casadi__DM__name(std::string ** err_msg, casadi::DM* obj){
    try {

        std::string ret = obj->name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nan"
// cWrapperName: "casadi__DM__nan__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::DM*
    casadi__DM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::DM ret = casadi::DM::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nan"
// cWrapperName: "casadi__DM__nan__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__nan__1(std::string ** err_msg)"
// call: "        casadi::DM ret = casadi::DM::nan();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__nan__1(std::string ** err_msg);
casadi::DM*
    casadi__DM__nan__1(std::string ** err_msg){
    try {

        casadi::DM ret = casadi::DM::nan();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nan"
// cWrapperName: "casadi__DM__nan__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__nan__2(std::string ** err_msg, long long x0)"
// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__nan__2(std::string ** err_msg, long long x0);
casadi::DM*
    casadi__DM__nan__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM ret = casadi::DM::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nan"
// cWrapperName: "casadi__DM__nan__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__nan__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::DM ret = casadi::DM::nan(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__nan__3(std::string ** err_msg, long long x0, long long x1);
casadi::DM*
    casadi__DM__nan__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = casadi::DM::nan(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nan"
// cWrapperName: "casadi__DM__nan__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::DM ret = casadi::DM::nan(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DM*
    casadi__DM__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DM ret = casadi::DM::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nnz"
// cWrapperName: "casadi__DM__nnz"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->nnz();"
// params: []
extern "C"
long long
    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__nnz(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->nnz();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_diag" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nnz_diag"
// cWrapperName: "casadi__DM__nnz_diag"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->nnz_diag();"
// params: []
extern "C"
long long
    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__nnz_diag(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->nnz_diag();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_lower" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nnz_lower"
// cWrapperName: "casadi__DM__nnz_lower"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->nnz_lower();"
// params: []
extern "C"
long long
    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__nnz_lower(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->nnz_lower();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_upper" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::nnz_upper"
// cWrapperName: "casadi__DM__nnz_upper"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->nnz_upper();"
// params: []
extern "C"
long long
    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__nnz_upper(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->nnz_upper();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::numel"
// cWrapperName: "casadi__DM__numel"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__numel(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->numel();"
// params: []
extern "C"
long long
    casadi__DM__numel(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__numel(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->numel();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::ones"
// cWrapperName: "casadi__DM__ones__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::DM*
    casadi__DM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::DM ret = casadi::DM::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::ones"
// cWrapperName: "casadi__DM__ones__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DM*
    casadi__DM__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DM ret = casadi::DM::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::ones"
// cWrapperName: "casadi__DM__ones__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__ones__2(std::string ** err_msg)"
// call: "        casadi::DM ret = casadi::DM::ones();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__ones__2(std::string ** err_msg);
casadi::DM*
    casadi__DM__ones__2(std::string ** err_msg){
    try {

        casadi::DM ret = casadi::DM::ones();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::ones"
// cWrapperName: "casadi__DM__ones__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__ones__3(std::string ** err_msg, long long x0)"
// call: "        casadi::DM ret = casadi::DM::ones(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__ones__3(std::string ** err_msg, long long x0);
casadi::DM*
    casadi__DM__ones__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM ret = casadi::DM::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::ones"
// cWrapperName: "casadi__DM__ones__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__ones__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::DM ret = casadi::DM::ones(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__ones__4(std::string ** err_msg, long long x0, long long x1);
casadi::DM*
    casadi__DM__ones__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = casadi::DM::ones(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "op" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::op"
// cWrapperName: "casadi__DM__op"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__op(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->op();"
// params: []
extern "C"
long long
    casadi__DM__op(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__op(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->op();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator +" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::operator +"
// cWrapperName: "casadi__DM__operator__plus"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj)"
// call: "        casadi::DM ret = obj->operator +();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj);
casadi::DM*
    casadi__DM__operator__plus(std::string ** err_msg, casadi::DM* obj){
    try {

        casadi::DM ret = obj->operator +();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator -" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::operator -"
// cWrapperName: "casadi__DM__operator__minus"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj)"
// call: "        casadi::DM ret = obj->operator -();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj);
casadi::DM*
    casadi__DM__operator__minus(std::string ** err_msg, casadi::DM* obj){
    try {

        casadi::DM ret = obj->operator -();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator casadi_int" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::operator casadi_int"
// cWrapperName: "casadi__DM__operator_casadi_int"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__operator_casadi_int(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->operator casadi_int();"
// params: []
extern "C"
long long
    casadi__DM__operator_casadi_int(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__operator_casadi_int(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->operator casadi_int();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator double" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::operator double"
// cWrapperName: "casadi__DM__operator_double"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj)"
// call: "        double ret = obj->operator double();"
// params: []
extern "C"
double
    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj);
double
    casadi__DM__operator_double(std::string ** err_msg, casadi::DM* obj){
    try {

        double ret = obj->operator double();

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "print_split" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::print_split"
// cWrapperName: "casadi__DM__print_split"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
// call: "        obj->print_split(x0_, x1_);"
// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
extern "C"
void
    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
void
    casadi__DM__print_split(std::string ** err_msg, casadi::DM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
    try {
        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output

        obj->print_split(x0_, x1_);
        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printme" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::printme"
// cWrapperName: "casadi__DM__printme"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0)"
// call: "        casadi::DM ret = obj->printme(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0);
casadi::DM*
    casadi__DM__printme(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = obj->printme(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::rand"
// cWrapperName: "casadi__DM__rand__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::DM ret = casadi::DM::rand(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::DM*
    casadi__DM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::DM ret = casadi::DM::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::rand"
// cWrapperName: "casadi__DM__rand__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__rand__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::DM ret = casadi::DM::rand(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__rand__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DM*
    casadi__DM__rand__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DM ret = casadi::DM::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::rand"
// cWrapperName: "casadi__DM__rand__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__rand__2(std::string ** err_msg)"
// call: "        casadi::DM ret = casadi::DM::rand();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__rand__2(std::string ** err_msg);
casadi::DM*
    casadi__DM__rand__2(std::string ** err_msg){
    try {

        casadi::DM ret = casadi::DM::rand();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::rand"
// cWrapperName: "casadi__DM__rand__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__rand__3(std::string ** err_msg, long long x0)"
// call: "        casadi::DM ret = casadi::DM::rand(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__rand__3(std::string ** err_msg, long long x0);
casadi::DM*
    casadi__DM__rand__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM ret = casadi::DM::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::rand"
// cWrapperName: "casadi__DM__rand__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__rand__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::DM ret = casadi::DM::rand(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__rand__4(std::string ** err_msg, long long x0, long long x1);
casadi::DM*
    casadi__DM__rand__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = casadi::DM::rand(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "remove" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::remove"
// cWrapperName: "casadi__DM__remove"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        obj->remove(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1);
void
    casadi__DM__remove(std::string ** err_msg, casadi::DM* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->remove(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::reserve"
// cWrapperName: "casadi__DM__reserve__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
// call: "        obj->reserve(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1);
void
    casadi__DM__reserve__0(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        obj->reserve(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::reserve"
// cWrapperName: "casadi__DM__reserve__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, long long x0)"
// call: "        obj->reserve(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, long long x0);
void
    casadi__DM__reserve__1(std::string ** err_msg, casadi::DM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        obj->reserve(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reset_input" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::reset_input"
// cWrapperName: "casadi__DM__reset_input"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__reset_input(std::string ** err_msg, casadi::DM* obj)"
// call: "        obj->reset_input();"
// params: []
extern "C"
void
    casadi__DM__reset_input(std::string ** err_msg, casadi::DM* obj);
void
    casadi__DM__reset_input(std::string ** err_msg, casadi::DM* obj){
    try {

        obj->reset_input();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resize" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::resize"
// cWrapperName: "casadi__DM__resize"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1)"
// call: "        obj->resize(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1);
void
    casadi__DM__resize(std::string ** err_msg, casadi::DM* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        obj->resize(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "rng" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::rng"
// cWrapperName: "casadi__DM__rng"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__rng(std::string ** err_msg, long long x0)"
// call: "        casadi::DM::rng(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__DM__rng(std::string ** err_msg, long long x0);
void
    casadi__DM__rng(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM::rng(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::row"
// cWrapperName: "casadi__DM__row"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, long long x0)"
// call: "        long long ret = obj->row(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, long long x0);
long long
    casadi__DM__row(std::string ** err_msg, casadi::DM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->row(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rows" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::rows"
// cWrapperName: "casadi__DM__rows"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__rows(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->rows();"
// params: []
extern "C"
long long
    casadi__DM__rows(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__rows(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->rows();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "scalar_matrix" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::scalar_matrix"
// cWrapperName: "casadi__DM__scalar_matrix"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__scalar_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2)"
// call: "        casadi::DM ret = casadi::DM::scalar_matrix(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__scalar_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi__DM__scalar_matrix(std::string ** err_msg, long long x0, casadi::DM* x1, casadi::DM* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);

        casadi::DM ret = casadi::DM::scalar_matrix(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set"
// cWrapperName: "casadi__DM__set__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi__DM__set__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set"
// cWrapperName: "casadi__DM__set__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
void
    casadi__DM__set__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set"
// cWrapperName: "casadi__DM__set__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
void
    casadi__DM__set__2(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set"
// cWrapperName: "casadi__DM__set__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__DM__set__3(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set"
// cWrapperName: "casadi__DM__set__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2);
void
    casadi__DM__set__4(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set"
// cWrapperName: "casadi__DM__set__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2);
void
    casadi__DM__set__5(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set"
// cWrapperName: "casadi__DM__set__6"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2);
void
    casadi__DM__set__6(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_max_depth" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set_max_depth"
// cWrapperName: "casadi__DM__set_max_depth__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set_max_depth__0(std::string ** err_msg)"
// call: "        casadi::DM::set_max_depth();"
// params: []
extern "C"
void
    casadi__DM__set_max_depth__0(std::string ** err_msg);
void
    casadi__DM__set_max_depth__0(std::string ** err_msg){
    try {

        casadi::DM::set_max_depth();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_max_depth" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set_max_depth"
// cWrapperName: "casadi__DM__set_max_depth__1"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set_max_depth__1(std::string ** err_msg, long long x0)"
// call: "        casadi::DM::set_max_depth(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__DM__set_max_depth__1(std::string ** err_msg, long long x0);
void
    casadi__DM__set_max_depth__1(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM::set_max_depth(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nz" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set_nz"
// cWrapperName: "casadi__DM__set_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2)"
// call: "        obj->set_nz(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2);
void
    casadi__DM__set_nz__0(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::IM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->set_nz(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nz" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set_nz"
// cWrapperName: "casadi__DM__set_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2)"
// call: "        obj->set_nz(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2);
void
    casadi__DM__set_nz__1(std::string ** err_msg, casadi::DM* obj, casadi::DM* x0, int x1, casadi::Slice* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set_nz(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_precision" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set_precision"
// cWrapperName: "casadi__DM__set_precision"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set_precision(std::string ** err_msg, long long x0)"
// call: "        casadi::DM::set_precision(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__DM__set_precision(std::string ** err_msg, long long x0);
void
    casadi__DM__set_precision(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM::set_precision(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_scientific" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set_scientific"
// cWrapperName: "casadi__DM__set_scientific"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set_scientific(std::string ** err_msg, int x0)"
// call: "        casadi::DM::set_scientific(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
void
    casadi__DM__set_scientific(std::string ** err_msg, int x0);
void
    casadi__DM__set_scientific(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::DM::set_scientific(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_width" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::set_width"
// cWrapperName: "casadi__DM__set_width"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__set_width(std::string ** err_msg, long long x0)"
// call: "        casadi::DM::set_width(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__DM__set_width(std::string ** err_msg, long long x0);
void
    casadi__DM__set_width(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM::set_width(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::size"
// cWrapperName: "casadi__DM__size__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, long long x0)"
// call: "        long long ret = obj->size(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, long long x0);
long long
    casadi__DM__size__0(std::string ** err_msg, casadi::DM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::size"
// cWrapperName: "casadi__DM__size__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj)"
// call: "        std::pair< long long, long long > ret = obj->size();"
// params: []
extern "C"
std::pair< long long, long long >*
    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj);
std::pair< long long, long long >*
    casadi__DM__size__1(std::string ** err_msg, casadi::DM* obj){
    try {

        std::pair< long long, long long > ret = obj->size();

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::size1"
// cWrapperName: "casadi__DM__size1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->size1();"
// params: []
extern "C"
long long
    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__size1(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->size1();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::size2"
// cWrapperName: "casadi__DM__size2"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj)"
// call: "        long long ret = obj->size2();"
// params: []
extern "C"
long long
    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj);
long long
    casadi__DM__size2(std::string ** err_msg, casadi::DM* obj){
    try {

        long long ret = obj->size2();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sparsity"
// cWrapperName: "casadi__DM__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj)"
// call: "        casadi::Sparsity ret = obj->sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj);
casadi::Sparsity*
    casadi__DM__sparsity(std::string ** err_msg, casadi::DM* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
// call: "        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4);
std::vector< std::vector< casadi::DM* >* >*
    casadi__DM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
// call: "        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3);
std::vector< std::vector< casadi::DM* >* >*
    casadi__DM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        std::vector< std::vector< casadi::DM > > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
// call: "        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< casadi::DM* >*
    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3);
std::vector< casadi::DM* >*
    casadi__DM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
// call: "        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< casadi::DM* >*
    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2);
std::vector< casadi::DM* >*
    casadi__DM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::DM > ret = casadi::DM::sym(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::DM*
    casadi__DM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::DM ret = casadi::DM::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1);
casadi::DM*
    casadi__DM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);

        casadi::DM ret = casadi::DM::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__6"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__sym__6(std::string ** err_msg, std::string* x0)"
// call: "        casadi::DM ret = casadi::DM::sym(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__sym__6(std::string ** err_msg, std::string* x0);
casadi::DM*
    casadi__DM__sym__6(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::DM ret = casadi::DM::sym(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, long long x1)"
// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, long long x1);
casadi::DM*
    casadi__DM__sym__7(std::string ** err_msg, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = casadi::DM::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::sym"
// cWrapperName: "casadi__DM__sym__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
// call: "        casadi::DM ret = casadi::DM::sym(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2);
casadi::DM*
    casadi__DM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::DM ret = casadi::DM::sym(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_file" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::to_file"
// cWrapperName: "casadi__DM__to_file__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__to_file__0(std::string ** err_msg, casadi::DM* obj, std::string* x0)"
// call: "        obj->to_file(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__DM__to_file__0(std::string ** err_msg, casadi::DM* obj, std::string* x0);
void
    casadi__DM__to_file__0(std::string ** err_msg, casadi::DM* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->to_file(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "to_file" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::to_file"
// cWrapperName: "casadi__DM__to_file__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DM__to_file__1(std::string ** err_msg, casadi::DM* obj, std::string* x0, std::string* x1)"
// call: "        obj->to_file(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__DM__to_file__1(std::string ** err_msg, casadi::DM* obj, std::string* x0, std::string* x1);
void
    casadi__DM__to_file__1(std::string ** err_msg, casadi::DM* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->to_file(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::triplet"
// cWrapperName: "casadi__DM__triplet__0"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, std::pair< long long, long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, std::pair< long long, long long >* x3)"
// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, std::pair< long long, long long >* x3);
casadi::DM*
    casadi__DM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, std::pair< long long, long long >* x3){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        std::pair< long long, long long > x3_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x3);

        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::triplet"
// cWrapperName: "casadi__DM__triplet__1"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, long long x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, long long x3, long long x4)"
// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, long long x3, long long x4);
casadi::DM*
    casadi__DM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2, long long x3, long long x4){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::triplet"
// cWrapperName: "casadi__DM__triplet__2"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2)"
// call: "        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2);
casadi::DM*
    casadi__DM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::DM* x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);

        casadi::DM ret = casadi::DM::triplet(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::type_name"
// cWrapperName: "casadi__DM__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DM__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::DM::type_name();"
// params: []
extern "C"
std::string*
    casadi__DM__type_name(std::string ** err_msg);
std::string*
    casadi__DM__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::DM::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unary" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::unary"
// cWrapperName: "casadi__DM__unary"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::DM* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__unary(std::string ** err_msg, long long x0, casadi::DM* x1)"
// call: "        casadi::DM ret = casadi::DM::unary(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__unary(std::string ** err_msg, long long x0, casadi::DM* x1);
casadi::DM*
    casadi__DM__unary(std::string ** err_msg, long long x0, casadi::DM* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);

        casadi::DM ret = casadi::DM::unary(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::zeros"
// cWrapperName: "casadi__DM__zeros__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::DM*
    casadi__DM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::DM ret = casadi::DM::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::zeros"
// cWrapperName: "casadi__DM__zeros__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::DM*
    casadi__DM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::DM ret = casadi::DM::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::zeros"
// cWrapperName: "casadi__DM__zeros__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__zeros__2(std::string ** err_msg)"
// call: "        casadi::DM ret = casadi::DM::zeros();"
// params: []
extern "C"
casadi::DM*
    casadi__DM__zeros__2(std::string ** err_msg);
casadi::DM*
    casadi__DM__zeros__2(std::string ** err_msg){
    try {

        casadi::DM ret = casadi::DM::zeros();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::zeros"
// cWrapperName: "casadi__DM__zeros__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__zeros__3(std::string ** err_msg, long long x0)"
// call: "        casadi::DM ret = casadi::DM::zeros(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__zeros__3(std::string ** err_msg, long long x0);
casadi::DM*
    casadi__DM__zeros__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::DM ret = casadi::DM::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::DM"
// cppName: "casadi::DM::zeros"
// cWrapperName: "casadi__DM__zeros__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__DM__zeros__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::DM ret = casadi::DM::zeros(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__DM__zeros__4(std::string ** err_msg, long long x0, long long x1);
casadi::DM*
    casadi__DM__zeros__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = casadi::DM::zeros(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "DaeBuilder")===============
// classType: UserType (Namespace ["casadi"]) (Name "DaeBuilder")
extern "C"
void delete_casadi__DaeBuilder(casadi::DaeBuilder* obj);
void delete_casadi__DaeBuilder(casadi::DaeBuilder* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder"
// cWrapperName: "casadi__DaeBuilder__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DaeBuilder")
// cWrapperRetType: "casadi::DaeBuilder*"
// proto: "casadi::DaeBuilder*\n    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg)"
// call: "        casadi::DaeBuilder* ret = (casadi::DaeBuilder*)new casadi::DaeBuilder();"
// params: []
extern "C"
casadi::DaeBuilder*
    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg);
casadi::DaeBuilder*
    casadi__DaeBuilder__CONSTRUCTOR(std::string ** err_msg){
    try {

        casadi::DaeBuilder* ret = (casadi::DaeBuilder*)new casadi::DaeBuilder();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_alg" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_alg"
// cWrapperName: "casadi__DaeBuilder__add_alg"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_alg(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// call: "        obj->add_alg(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__add_alg(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
void
    casadi__DaeBuilder__add_alg(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        obj->add_alg(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_aux" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_aux"
// cWrapperName: "casadi__DaeBuilder__add_aux__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_aux__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        casadi::MX ret = obj->add_aux();"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_aux__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_aux__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_aux();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_aux" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_aux"
// cWrapperName: "casadi__DaeBuilder__add_aux__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_aux__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->add_aux(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_aux__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_aux__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_aux(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_aux" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_aux"
// cWrapperName: "casadi__DaeBuilder__add_aux__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_aux__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// call: "        casadi::MX ret = obj->add_aux(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_aux__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
casadi::MX*
    casadi__DaeBuilder__add_aux__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->add_aux(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_d"
// cWrapperName: "casadi__DaeBuilder__add_d"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_d(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// call: "        casadi::MX ret = obj->add_d(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_d(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
casadi::MX*
    casadi__DaeBuilder__add_d(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = obj->add_d(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_dae" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_dae"
// cWrapperName: "casadi__DaeBuilder__add_dae"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_dae(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// call: "        obj->add_dae(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__add_dae(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
void
    casadi__DaeBuilder__add_dae(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        obj->add_dae(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_fun" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_fun"
// cWrapperName: "casadi__DaeBuilder__add_fun__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1)"
// call: "        casadi::Function ret = obj->add_fun(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__DaeBuilder__add_fun__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1);
casadi::Function*
    casadi__DaeBuilder__add_fun__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Importer& x1_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x1);

        casadi::Function ret = obj->add_fun(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_fun" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_fun"
// cWrapperName: "casadi__DaeBuilder__add_fun__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "        casadi::Function ret = obj->add_fun(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__DaeBuilder__add_fun__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Function*
    casadi__DaeBuilder__add_fun__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Importer& x1_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        casadi::Function ret = obj->add_fun(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_fun" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_fun"
// cWrapperName: "casadi__DaeBuilder__add_fun__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::Function* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__2(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::Function* x0)"
// call: "        casadi::Function ret = obj->add_fun(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__DaeBuilder__add_fun__2(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::Function* x0);
casadi::Function*
    casadi__DaeBuilder__add_fun__2(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        casadi::Function ret = obj->add_fun(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_fun" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_fun"
// cWrapperName: "casadi__DaeBuilder__add_fun__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
// call: "        casadi::Function ret = obj->add_fun(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__DaeBuilder__add_fun__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
casadi::Function*
    casadi__DaeBuilder__add_fun__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);

        casadi::Function ret = obj->add_fun(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_fun" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_fun"
// cWrapperName: "casadi__DaeBuilder__add_fun__4"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DaeBuilder__add_fun__4(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Function ret = obj->add_fun(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__DaeBuilder__add_fun__4(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    casadi__DaeBuilder__add_fun__4(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Function ret = obj->add_fun(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_lc" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_lc"
// cWrapperName: "casadi__DaeBuilder__add_lc"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1)"
// call: "        casadi::MX ret = obj->add_lc(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1);
casadi::MX*
    casadi__DaeBuilder__add_lc(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        casadi::MX ret = obj->add_lc(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_ode" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_ode"
// cWrapperName: "casadi__DaeBuilder__add_ode"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_ode(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// call: "        obj->add_ode(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__add_ode(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
void
    casadi__DaeBuilder__add_ode(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        obj->add_ode(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_p" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_p"
// cWrapperName: "casadi__DaeBuilder__add_p__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        casadi::MX ret = obj->add_p();"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_p__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_p();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_p" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_p"
// cWrapperName: "casadi__DaeBuilder__add_p__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->add_p(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_p__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_p(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_p" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_p"
// cWrapperName: "casadi__DaeBuilder__add_p__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// call: "        casadi::MX ret = obj->add_p(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
casadi::MX*
    casadi__DaeBuilder__add_p__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->add_p(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_q" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_q"
// cWrapperName: "casadi__DaeBuilder__add_q__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        casadi::MX ret = obj->add_q();"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_q__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_q();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_q" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_q"
// cWrapperName: "casadi__DaeBuilder__add_q__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->add_q(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_q__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_q(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_q" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_q"
// cWrapperName: "casadi__DaeBuilder__add_q__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// call: "        casadi::MX ret = obj->add_q(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
casadi::MX*
    casadi__DaeBuilder__add_q__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->add_q(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_quad" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_quad"
// cWrapperName: "casadi__DaeBuilder__add_quad"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_quad(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// call: "        obj->add_quad(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__add_quad(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
void
    casadi__DaeBuilder__add_quad(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        obj->add_quad(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_s" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_s"
// cWrapperName: "casadi__DaeBuilder__add_s__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s();"
// params: []
extern "C"
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj);
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        std::pair< casadi::MX, casadi::MX > ret = obj->add_s();

        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_s" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_s"
// cWrapperName: "casadi__DaeBuilder__add_s__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_);
        // x0 is not a swig output

        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_s" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_s"
// cWrapperName: "casadi__DaeBuilder__add_s__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: StdPair (UserType (Namespace ["casadi"]) (Name "MX")) (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::pair< casadi::MX*, casadi::MX* >*"
// proto: "std::pair< casadi::MX*, casadi::MX* >*\n    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// call: "        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
std::pair< casadi::MX*, casadi::MX* >*
    casadi__DaeBuilder__add_s__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::pair< casadi::MX, casadi::MX > ret = obj->add_s(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::pair< casadi::MX*, casadi::MX* >*, std::pair< casadi::MX, casadi::MX > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_u" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_u"
// cWrapperName: "casadi__DaeBuilder__add_u__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        casadi::MX ret = obj->add_u();"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_u__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_u();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_u" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_u"
// cWrapperName: "casadi__DaeBuilder__add_u__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->add_u(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_u__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_u(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_u" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_u"
// cWrapperName: "casadi__DaeBuilder__add_u__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// call: "        casadi::MX ret = obj->add_u(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
casadi::MX*
    casadi__DaeBuilder__add_u__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->add_u(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_variable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_variable"
// cWrapperName: "casadi__DaeBuilder__add_variable__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1)"
// call: "        casadi::MX ret = obj->add_variable(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1);
casadi::MX*
    casadi__DaeBuilder__add_variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::MX ret = obj->add_variable(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_variable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_variable"
// cWrapperName: "casadi__DaeBuilder__add_variable__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->add_variable(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_variable(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_variable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_variable"
// cWrapperName: "casadi__DaeBuilder__add_variable__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// call: "        casadi::MX ret = obj->add_variable(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
casadi::MX*
    casadi__DaeBuilder__add_variable__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->add_variable(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_variable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_variable"
// cWrapperName: "casadi__DaeBuilder__add_variable__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1)"
// call: "        obj->add_variable(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Variable"))),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1);
void
    casadi__DaeBuilder__add_variable__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::Variable* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Variable& x1_ = Marshaling<casadi::Variable&,casadi::Variable*>::marshal(x1);

        obj->add_variable(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "add_x" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_x"
// cWrapperName: "casadi__DaeBuilder__add_x__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        casadi::MX ret = obj->add_x();"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_x__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_x();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_x" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_x"
// cWrapperName: "casadi__DaeBuilder__add_x__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->add_x(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_x__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_x(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_x" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_x"
// cWrapperName: "casadi__DaeBuilder__add_x__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// call: "        casadi::MX ret = obj->add_x(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
casadi::MX*
    casadi__DaeBuilder__add_x__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->add_x(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_y" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_y"
// cWrapperName: "casadi__DaeBuilder__add_y"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_y(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1)"
// call: "        casadi::MX ret = obj->add_y(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_y(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1);
casadi::MX*
    casadi__DaeBuilder__add_y(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, casadi::MX* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = obj->add_y(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_z" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_z"
// cWrapperName: "casadi__DaeBuilder__add_z__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        casadi::MX ret = obj->add_z();"
// params: []
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj);
casadi::MX*
    casadi__DaeBuilder__add_z__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        casadi::MX ret = obj->add_z();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_z" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_z"
// cWrapperName: "casadi__DaeBuilder__add_z__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->add_z(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__add_z__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->add_z(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_z" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::add_z"
// cWrapperName: "casadi__DaeBuilder__add_z__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1)"
// call: "        casadi::MX ret = obj->add_z(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1);
casadi::MX*
    casadi__DaeBuilder__add_z__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->add_z(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "create" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::create"
// cWrapperName: "casadi__DaeBuilder__create"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
// call: "        casadi::Function ret = obj->create(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
casadi::Function*
    casadi__DaeBuilder__create(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);

        casadi::Function ret = obj->create(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "der" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::der"
// cWrapperName: "casadi__DaeBuilder__der__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "        casadi::MX ret = obj->der(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
casadi::MX*
    casadi__DaeBuilder__der__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->der(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "der" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::der"
// cWrapperName: "casadi__DaeBuilder__der__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->der(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__der__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->der(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivative_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::derivative_start"
// cWrapperName: "casadi__DaeBuilder__derivative_start__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "        std::vector< double > ret = obj->derivative_start(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->derivative_start(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivative_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::derivative_start"
// cWrapperName: "casadi__DaeBuilder__derivative_start__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "        std::vector< double > ret = obj->derivative_start(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->derivative_start(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivative_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::derivative_start"
// cWrapperName: "casadi__DaeBuilder__derivative_start__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        double ret = obj->derivative_start(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->derivative_start(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "derivative_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::derivative_start"
// cWrapperName: "casadi__DaeBuilder__derivative_start__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "        double ret = obj->derivative_start(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->derivative_start(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "eliminate_alg" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::eliminate_alg"
// cWrapperName: "casadi__DaeBuilder__eliminate_alg"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->eliminate_alg();"
// params: []
extern "C"
void
    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__eliminate_alg(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->eliminate_alg();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "eliminate_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::eliminate_d"
// cWrapperName: "casadi__DaeBuilder__eliminate_d"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->eliminate_d();"
// params: []
extern "C"
void
    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__eliminate_d(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->eliminate_d();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "eliminate_quad" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::eliminate_quad"
// cWrapperName: "casadi__DaeBuilder__eliminate_quad"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->eliminate_quad();"
// params: []
extern "C"
void
    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__eliminate_quad(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->eliminate_quad();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "fun" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::fun"
// cWrapperName: "casadi__DaeBuilder__fun"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__DaeBuilder__fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::Function ret = obj->fun(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__DaeBuilder__fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::Function*
    casadi__DaeBuilder__fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = obj->fun(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::get_str"
// cWrapperName: "casadi__DaeBuilder__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__get_str__0(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__DaeBuilder__get_str__0(std::string ** err_msg, casadi::DaeBuilder* obj);
std::string*
    casadi__DaeBuilder__get_str__0(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::get_str"
// cWrapperName: "casadi__DaeBuilder__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__get_str__1(std::string ** err_msg, casadi::DaeBuilder* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__DaeBuilder__get_str__1(std::string ** err_msg, casadi::DaeBuilder* obj, int x0);
std::string*
    casadi__DaeBuilder__get_str__1(std::string ** err_msg, casadi::DaeBuilder* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "guess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::guess"
// cWrapperName: "casadi__DaeBuilder__guess__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "        std::vector< double > ret = obj->guess(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->guess(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "guess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::guess"
// cWrapperName: "casadi__DaeBuilder__guess__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "        std::vector< double > ret = obj->guess(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->guess(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "guess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::guess"
// cWrapperName: "casadi__DaeBuilder__guess__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        double ret = obj->guess(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->guess(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "guess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::guess"
// cWrapperName: "casadi__DaeBuilder__guess__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "        double ret = obj->guess(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->guess(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_fun" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::has_fun"
// cWrapperName: "casadi__DaeBuilder__has_fun"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__DaeBuilder__has_fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        bool ret = obj->has_fun(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__DaeBuilder__has_fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
int
    casadi__DaeBuilder__has_fun(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = obj->has_fun(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "make_explicit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::make_explicit"
// cWrapperName: "casadi__DaeBuilder__make_explicit"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->make_explicit();"
// params: []
extern "C"
void
    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__make_explicit(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->make_explicit();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "make_semi_explicit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::make_semi_explicit"
// cWrapperName: "casadi__DaeBuilder__make_semi_explicit"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->make_semi_explicit();"
// params: []
extern "C"
void
    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__make_semi_explicit(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->make_semi_explicit();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::max"
// cWrapperName: "casadi__DaeBuilder__max__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "        std::vector< double > ret = obj->max(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->max(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::max"
// cWrapperName: "casadi__DaeBuilder__max__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "        std::vector< double > ret = obj->max(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->max(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::max"
// cWrapperName: "casadi__DaeBuilder__max__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        double ret = obj->max(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->max(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::max"
// cWrapperName: "casadi__DaeBuilder__max__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "        double ret = obj->max(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->max(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::min"
// cWrapperName: "casadi__DaeBuilder__min__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "        std::vector< double > ret = obj->min(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->min(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::min"
// cWrapperName: "casadi__DaeBuilder__min__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "        std::vector< double > ret = obj->min(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->min(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::min"
// cWrapperName: "casadi__DaeBuilder__min__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        double ret = obj->min(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->min(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::min"
// cWrapperName: "casadi__DaeBuilder__min__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "        double ret = obj->min(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->min(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nominal" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::nominal"
// cWrapperName: "casadi__DaeBuilder__nominal__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "        std::vector< double > ret = obj->nominal(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->nominal(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nominal" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::nominal"
// cWrapperName: "casadi__DaeBuilder__nominal__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        double ret = obj->nominal(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->nominal(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ()" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::operator ()"
// cWrapperName: "casadi__DaeBuilder__operator__call"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->operator ()(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__operator__call(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->operator ()(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "parse_fmi" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::parse_fmi"
// cWrapperName: "casadi__DaeBuilder__parse_fmi"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        obj->parse_fmi(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
void
    casadi__DaeBuilder__parse_fmi(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->parse_fmi(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sanity_check" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::sanity_check"
// cWrapperName: "casadi__DaeBuilder__sanity_check"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->sanity_check();"
// params: []
extern "C"
void
    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__sanity_check(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->sanity_check();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "scale_equations" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::scale_equations"
// cWrapperName: "casadi__DaeBuilder__scale_equations"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->scale_equations();"
// params: []
extern "C"
void
    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__scale_equations(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->scale_equations();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "scale_variables" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::scale_variables"
// cWrapperName: "casadi__DaeBuilder__scale_variables"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->scale_variables();"
// params: []
extern "C"
void
    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__scale_variables(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->scale_variables();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_derivative_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_derivative_start"
// cWrapperName: "casadi__DaeBuilder__set_derivative_start__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "        obj->set_derivative_start(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__set_derivative_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->set_derivative_start(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_derivative_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_derivative_start"
// cWrapperName: "casadi__DaeBuilder__set_derivative_start__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "        obj->set_derivative_start(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__set_derivative_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_derivative_start(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_derivative_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_derivative_start"
// cWrapperName: "casadi__DaeBuilder__set_derivative_start__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "        obj->set_derivative_start(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__set_derivative_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->set_derivative_start(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_derivative_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_derivative_start"
// cWrapperName: "casadi__DaeBuilder__set_derivative_start__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "        obj->set_derivative_start(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__set_derivative_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_derivative_start(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_guess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_guess"
// cWrapperName: "casadi__DaeBuilder__set_guess__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "        obj->set_guess(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__set_guess__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->set_guess(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_guess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_guess"
// cWrapperName: "casadi__DaeBuilder__set_guess__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "        obj->set_guess(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__set_guess__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_guess(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_guess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_guess"
// cWrapperName: "casadi__DaeBuilder__set_guess__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "        obj->set_guess(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__set_guess__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->set_guess(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_guess" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_guess"
// cWrapperName: "casadi__DaeBuilder__set_guess__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "        obj->set_guess(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__set_guess__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_guess(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_max"
// cWrapperName: "casadi__DaeBuilder__set_max__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "        obj->set_max(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__set_max__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->set_max(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_max"
// cWrapperName: "casadi__DaeBuilder__set_max__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "        obj->set_max(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__set_max__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_max(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_max"
// cWrapperName: "casadi__DaeBuilder__set_max__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "        obj->set_max(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__set_max__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->set_max(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_max" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_max"
// cWrapperName: "casadi__DaeBuilder__set_max__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "        obj->set_max(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__set_max__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_max(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_min"
// cWrapperName: "casadi__DaeBuilder__set_min__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "        obj->set_min(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__set_min__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->set_min(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_min"
// cWrapperName: "casadi__DaeBuilder__set_min__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "        obj->set_min(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__set_min__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_min(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_min"
// cWrapperName: "casadi__DaeBuilder__set_min__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "        obj->set_min(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__set_min__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->set_min(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_min" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_min"
// cWrapperName: "casadi__DaeBuilder__set_min__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "        obj->set_min(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__set_min__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_min(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nominal" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_nominal"
// cWrapperName: "casadi__DaeBuilder__set_nominal__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "        obj->set_nominal(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__set_nominal__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->set_nominal(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nominal" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_nominal"
// cWrapperName: "casadi__DaeBuilder__set_nominal__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "        obj->set_nominal(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__set_nominal__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->set_nominal(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_start"
// cWrapperName: "casadi__DaeBuilder__set_start__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1)"
// call: "        obj->set_start(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1);
void
    casadi__DaeBuilder__set_start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);

        obj->set_start(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_start"
// cWrapperName: "casadi__DaeBuilder__set_start__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2)"
// call: "        obj->set_start(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2);
void
    casadi__DaeBuilder__set_start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, std::vector< double >* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_start(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_start"
// cWrapperName: "casadi__DaeBuilder__set_start__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1)"
// call: "        obj->set_start(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1);
void
    casadi__DaeBuilder__set_start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        obj->set_start(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_start"
// cWrapperName: "casadi__DaeBuilder__set_start__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2)"
// call: "        obj->set_start(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2);
void
    casadi__DaeBuilder__set_start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, double x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->set_start(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_unit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::set_unit"
// cWrapperName: "casadi__DaeBuilder__set_unit"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1)"
// call: "        obj->set_unit(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1);
void
    casadi__DaeBuilder__set_unit(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->set_unit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sort_alg" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::sort_alg"
// cWrapperName: "casadi__DaeBuilder__sort_alg"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->sort_alg();"
// params: []
extern "C"
void
    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__sort_alg(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->sort_alg();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sort_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::sort_d"
// cWrapperName: "casadi__DaeBuilder__sort_d"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->sort_d();"
// params: []
extern "C"
void
    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__sort_d(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->sort_d();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "sort_dae" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::sort_dae"
// cWrapperName: "casadi__DaeBuilder__sort_dae"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->sort_dae();"
// params: []
extern "C"
void
    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__sort_dae(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->sort_dae();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "split_d" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::split_d"
// cWrapperName: "casadi__DaeBuilder__split_d"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->split_d();"
// params: []
extern "C"
void
    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__split_d(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->split_d();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "split_dae" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::split_dae"
// cWrapperName: "casadi__DaeBuilder__split_dae"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        obj->split_dae();"
// params: []
extern "C"
void
    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj);
void
    casadi__DaeBuilder__split_dae(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        obj->split_dae();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::start"
// cWrapperName: "casadi__DaeBuilder__start__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "        std::vector< double > ret = obj->start(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::vector< double >*
    casadi__DaeBuilder__start__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< double > ret = obj->start(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::start"
// cWrapperName: "casadi__DaeBuilder__start__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1)"
// call: "        std::vector< double > ret = obj->start(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< double >*
    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1);
std::vector< double >*
    casadi__DaeBuilder__start__1(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< double > ret = obj->start(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::start"
// cWrapperName: "casadi__DaeBuilder__start__2"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        double ret = obj->start(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
double
    casadi__DaeBuilder__start__2(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        double ret = obj->start(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "start" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::start"
// cWrapperName: "casadi__DaeBuilder__start__3"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1)"
// call: "        double ret = obj->start(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
double
    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1);
double
    casadi__DaeBuilder__start__3(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        double ret = obj->start(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "type_name" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::type_name"
// cWrapperName: "casadi__DaeBuilder__type_name"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__type_name(std::string ** err_msg, casadi::DaeBuilder* obj)"
// call: "        std::string ret = obj->type_name();"
// params: []
extern "C"
std::string*
    casadi__DaeBuilder__type_name(std::string ** err_msg, casadi::DaeBuilder* obj);
std::string*
    casadi__DaeBuilder__type_name(std::string ** err_msg, casadi::DaeBuilder* obj){
    try {

        std::string ret = obj->type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "unit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::unit"
// cWrapperName: "casadi__DaeBuilder__unit__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0)"
// call: "        std::string ret = obj->unit(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::string*
    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0);
std::string*
    casadi__DaeBuilder__unit__0(std::string ** err_msg, casadi::DaeBuilder* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::string ret = obj->unit(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "unit" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::unit"
// cWrapperName: "casadi__DaeBuilder__unit__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        std::string ret = obj->unit(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
std::string*
    casadi__DaeBuilder__unit__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->unit(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "var" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::var"
// cWrapperName: "casadi__DaeBuilder__var"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__DaeBuilder__var(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->var(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__DaeBuilder__var(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::MX*
    casadi__DaeBuilder__var(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->var(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "variable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::variable"
// cWrapperName: "casadi__DaeBuilder__variable__0"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Variable"))
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::Variable ret = obj->variable(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Variable*
    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::Variable*
    casadi__DaeBuilder__variable__0(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Variable ret = obj->variable(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Variable*, casadi::Variable >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "variable" ===============
// class: "casadi::DaeBuilder"
// cppName: "casadi::DaeBuilder::variable"
// cWrapperName: "casadi__DaeBuilder__variable__1"
// protoArgs: "(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0)"
// call: "        casadi::Variable ret = obj->variable(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Variable*
    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0);
casadi::Variable*
    casadi__DaeBuilder__variable__1(std::string ** err_msg, casadi::DaeBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Variable ret = obj->variable(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Variable*, casadi::Variable >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Function")===============
// classType: UserType (Namespace ["casadi"]) (Name "Function")
extern "C"
void delete_casadi__Function(casadi::Function* obj);
void delete_casadi__Function(casadi::Function* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
casadi::Function*
    casadi__Function__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::MX > x1_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    casadi__Function__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::MX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::MX > x1_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
casadi::Function*
    casadi__Function__CONSTRUCTOR__2(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::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< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
casadi::Function*
    casadi__Function__CONSTRUCTOR__3(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::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< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
casadi::Function*
    casadi__Function__CONSTRUCTOR__4(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::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::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    casadi__Function__CONSTRUCTOR__5(std::string ** err_msg, std::string* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::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::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
casadi::Function*
    casadi__Function__CONSTRUCTOR__6(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::SX > x1_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    casadi__Function__CONSTRUCTOR__7(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::SX* >* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::SX > x1_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
casadi::Function*
    casadi__Function__CONSTRUCTOR__8(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::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< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
casadi::Function*
    casadi__Function__CONSTRUCTOR__9(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::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< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
casadi::Function*
    casadi__Function__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::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::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__11"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    casadi__Function__CONSTRUCTOR__11(std::string ** err_msg, std::string* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::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::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__12"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0);
casadi::Function*
    casadi__Function__CONSTRUCTOR__12(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function* ret = (casadi::Function*)new casadi::Function(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Function"
// cppName: "casadi::Function"
// cWrapperName: "casadi__Function__CONSTRUCTOR__13"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg)"
// call: "        casadi::Function* ret = (casadi::Function*)new casadi::Function();"
// params: []
extern "C"
casadi::Function*
    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg);
casadi::Function*
    casadi__Function__CONSTRUCTOR__13(std::string ** err_msg){
    try {

        casadi::Function* ret = (casadi::Function*)new casadi::Function();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "assert_size_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::assert_size_in"
// cWrapperName: "casadi__Function__assert_size_in"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2)"
// call: "        obj->assert_size_in(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2);
void
    casadi__Function__assert_size_in(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        obj->assert_size_in(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "assert_size_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::assert_size_out"
// cWrapperName: "casadi__Function__assert_size_out"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2)"
// call: "        obj->assert_size_out(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2);
void
    casadi__Function__assert_size_out(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, long long x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        obj->assert_size_out(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "bspline" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::bspline"
// cWrapperName: "casadi__Function__bspline__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__bspline__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3)"
// call: "        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__bspline__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3);
casadi::Function*
    casadi__Function__bspline__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "bspline" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::bspline"
// cWrapperName: "casadi__Function__bspline__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__bspline__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4)"
// call: "        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__bspline__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4);
casadi::Function*
    casadi__Function__bspline__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "bspline" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::bspline"
// cWrapperName: "casadi__Function__bspline__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, std::map< std::string, casadi::GenericType* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__bspline__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, std::map< std::string, casadi::GenericType* >* x5)"
// call: "        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__bspline__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, std::map< std::string, casadi::GenericType* >* x5);
casadi::Function*
    casadi__Function__bspline__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, std::map< std::string, casadi::GenericType* >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);
        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);

        casadi::Function ret = casadi::Function::bspline(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "bspline_dual" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::bspline_dual"
// cWrapperName: "casadi__Function__bspline_dual__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__bspline_dual__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3)"
// call: "        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__bspline_dual__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3);
casadi::Function*
    casadi__Function__bspline_dual__0(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "bspline_dual" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::bspline_dual"
// cWrapperName: "casadi__Function__bspline_dual__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__bspline_dual__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4)"
// call: "        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__bspline_dual__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4);
casadi::Function*
    casadi__Function__bspline_dual__1(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "bspline_dual" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::bspline_dual"
// cWrapperName: "casadi__Function__bspline_dual__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__bspline_dual__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5)"
// call: "        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__bspline_dual__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5);
casadi::Function*
    casadi__Function__bspline_dual__2(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "bspline_dual" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::bspline_dual"
// cWrapperName: "casadi__Function__bspline_dual__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5, std::map< std::string, casadi::GenericType* >* x6)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__bspline_dual__3(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5, std::map< std::string, casadi::GenericType* >* x6)"
// call: "        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__bspline_dual__3(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5, std::map< std::string, casadi::GenericType* >* x6);
casadi::Function*
    casadi__Function__bspline_dual__3(std::string ** err_msg, std::string* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2, std::vector< long long >* x3, long long x4, int x5, std::map< std::string, casadi::GenericType* >* x6){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
        std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);
        bool x5_ = Marshaling<bool,int>::marshal(x5);
        std::map< std::string, casadi::GenericType > x6_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x6);

        casadi::Function ret = casadi::Function::bspline_dual(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output
        // x6 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1)"
// call: "        obj->call(x0_, x1_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True)]
extern "C"
void
    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1);
void
    casadi__Function__call__0(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1){
    try {
        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output

        obj->call(x0_, x1_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2)"
// call: "        obj->call(x0_, x1_, x2_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2);
void
    casadi__Function__call__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2){
    try {
        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3)"
// call: "        obj->call(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3);
void
    casadi__Function__call__2(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::map< std::string, casadi::MX* >** x1, int x2, int x3){
    try {
        std::map< std::string, casadi::MX > x0_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x0);
        std::map< std::string, casadi::MX > x1_ = std::map< std::string, casadi::MX >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::wrapReturn( x1_ );
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1)"
// call: "        obj->call(x0_, x1_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True)]
extern "C"
void
    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1);
void
    casadi__Function__call__3(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1){
    try {
        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output

        obj->call(x0_, x1_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2)"
// call: "        obj->call(x0_, x1_, x2_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2);
void
    casadi__Function__call__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2){
    try {
        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3)"
// call: "        obj->call(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3);
void
    casadi__Function__call__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::SX* >* x0, std::map< std::string, casadi::SX* >** x1, int x2, int x3){
    try {
        std::map< std::string, casadi::SX > x0_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x0);
        std::map< std::string, casadi::SX > x1_ = std::map< std::string, casadi::SX >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::SX* >*, std::map< std::string, casadi::SX > >::wrapReturn( x1_ );
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1)"
// call: "        obj->call(x0_, x1_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True)]
extern "C"
void
    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1);
void
    casadi__Function__call__6(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1){
    try {
        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output

        obj->call(x0_, x1_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2)"
// call: "        obj->call(x0_, x1_, x2_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2);
void
    casadi__Function__call__7(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2){
    try {
        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3)"
// call: "        obj->call(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3);
void
    casadi__Function__call__8(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::DM* >* x0, std::map< std::string, casadi::DM* >** x1, int x2, int x3){
    try {
        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);
        std::map< std::string, casadi::DM > x1_ = std::map< std::string, casadi::DM >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( x1_ );
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__9"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1)"
// call: "        obj->call(x0_, x1_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True)]
extern "C"
void
    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1);
void
    casadi__Function__call__9(std::string ** err_msg, casadi::Function* obj, 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_ = std::vector< casadi::MX >();  // Swig output

        obj->call(x0_, x1_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__10"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2)"
// call: "        obj->call(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2);
void
    casadi__Function__call__10(std::string ** err_msg, casadi::Function* obj, 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_ = std::vector< casadi::MX >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__11"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3)"
// call: "        obj->call(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int x2, int x3);
void
    casadi__Function__call__11(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >** x1, int 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_ = std::vector< casadi::MX >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::MX* >*, std::vector< casadi::MX > >::wrapReturn( x1_ );
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__12"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1)"
// call: "        obj->call(x0_, x1_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True)]
extern "C"
void
    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1);
void
    casadi__Function__call__12(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = std::vector< casadi::SX >();  // Swig output

        obj->call(x0_, x1_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__13"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2)"
// call: "        obj->call(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2);
void
    casadi__Function__call__13(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = std::vector< casadi::SX >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__14"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3)"
// call: "        obj->call(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int x2, int x3);
void
    casadi__Function__call__14(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >** x1, int 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_ = std::vector< casadi::SX >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::SX* >*, std::vector< casadi::SX > >::wrapReturn( x1_ );
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__15"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1)"
// call: "        obj->call(x0_, x1_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True)]
extern "C"
void
    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1);
void
    casadi__Function__call__15(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output

        obj->call(x0_, x1_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__16"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2)"
// call: "        obj->call(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2);
void
    casadi__Function__call__16(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->call(x0_, x1_, x2_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::call"
// cWrapperName: "casadi__Function__call__17"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3)"
// call: "        obj->call(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3);
void
    casadi__Function__call__17(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >** x1, int x2, int x3){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = std::vector< casadi::DM >();  // Swig output
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        obj->call(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( x1_ );
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "check_name" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::check_name"
// cWrapperName: "casadi__Function__check_name"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__check_name(std::string ** err_msg, std::string* x0)"
// call: "        bool ret = casadi::Function::check_name(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__Function__check_name(std::string ** err_msg, std::string* x0);
int
    casadi__Function__check_name(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::Function::check_name(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "checkout" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::checkout"
// cWrapperName: "casadi__Function__checkout"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->checkout();"
// params: []
extern "C"
long long
    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__checkout(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->checkout();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "conditional" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::conditional"
// cWrapperName: "casadi__Function__conditional__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2)"
// call: "        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2);
casadi::Function*
    casadi__Function__conditional__0(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::Function > x1_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);

        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "conditional" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::conditional"
// cWrapperName: "casadi__Function__conditional__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    casadi__Function__conditional__1(std::string ** err_msg, std::string* x0, std::vector< casadi::Function* >* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< casadi::Function > x1_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Function ret = casadi::Function::conditional(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "default_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::default_in"
// cWrapperName: "casadi__Function__default_in"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        double ret = obj->default_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
double
    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, long long x0);
double
    casadi__Function__default_in(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        double ret = obj->default_in(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "deserialize" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::deserialize"
// cWrapperName: "casadi__Function__deserialize"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__deserialize(std::string ** err_msg, std::string* x0)"
// call: "        casadi::Function ret = casadi::Function::deserialize(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__deserialize(std::string ** err_msg, std::string* x0);
casadi::Function*
    casadi__Function__deserialize(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = casadi::Function::deserialize(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "expand" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::expand"
// cWrapperName: "casadi__Function__expand__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::Function ret = obj->expand(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Function*
    casadi__Function__expand__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = obj->expand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "expand" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::expand"
// cWrapperName: "casadi__Function__expand__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        casadi::Function ret = obj->expand(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
casadi::Function*
    casadi__Function__expand__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        casadi::Function ret = obj->expand(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "expand" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::expand"
// cWrapperName: "casadi__Function__expand__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj)"
// call: "        casadi::Function ret = obj->expand();"
// params: []
extern "C"
casadi::Function*
    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__expand__2(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->expand();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "export_code" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::export_code"
// cWrapperName: "casadi__Function__export_code__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__export_code__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        std::string ret = obj->export_code(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__Function__export_code__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
std::string*
    casadi__Function__export_code__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->export_code(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "export_code" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::export_code"
// cWrapperName: "casadi__Function__export_code__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__export_code__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        std::string ret = obj->export_code(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
std::string*
    casadi__Function__export_code__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
std::string*
    casadi__Function__export_code__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        std::string ret = obj->export_code(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "export_code" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::export_code"
// cWrapperName: "casadi__Function__export_code__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__export_code__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// call: "        obj->export_code(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Function__export_code__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
void
    casadi__Function__export_code__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->export_code(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "export_code" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::export_code"
// cWrapperName: "casadi__Function__export_code__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__export_code__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "        obj->export_code(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
void
    casadi__Function__export_code__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
void
    casadi__Function__export_code__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        obj->export_code(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "factory" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::factory"
// cWrapperName: "casadi__Function__factory__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__factory__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2)"
// call: "        casadi::Function ret = obj->factory(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__factory__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2);
casadi::Function*
    casadi__Function__factory__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);

        casadi::Function ret = obj->factory(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "factory" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::factory"
// cWrapperName: "casadi__Function__factory__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__factory__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3)"
// call: "        casadi::Function ret = obj->factory(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (StdVec StdString))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__factory__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3);
casadi::Function*
    casadi__Function__factory__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::map< std::string, std::vector< std::string > > x3_ = Marshaling<std::map< std::string, std::vector< std::string > >,std::map< std::string, std::vector< std::string* >* >*>::marshal(x3);

        casadi::Function ret = obj->factory(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "factory" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::factory"
// cWrapperName: "casadi__Function__factory__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__factory__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "        casadi::Function ret = obj->factory(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (StdVec StdString))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__factory__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    casadi__Function__factory__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, std::vector< std::string* >* x2, std::map< std::string, std::vector< std::string* >* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::map< std::string, std::vector< std::string > > x3_ = Marshaling<std::map< std::string, std::vector< std::string > >,std::map< std::string, std::vector< std::string* >* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        casadi::Function ret = obj->factory(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "fix_name" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::fix_name"
// cWrapperName: "casadi__Function__fix_name"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__fix_name(std::string ** err_msg, std::string* x0)"
// call: "        std::string ret = casadi::Function::fix_name(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__Function__fix_name(std::string ** err_msg, std::string* x0);
std::string*
    casadi__Function__fix_name(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::Function::fix_name(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "fold" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::fold"
// cWrapperName: "casadi__Function__fold__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__fold__0(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::Function ret = obj->fold(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__fold__0(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::Function*
    casadi__Function__fold__0(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Function ret = obj->fold(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "fold" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::fold"
// cWrapperName: "casadi__Function__fold__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__fold__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        casadi::Function ret = obj->fold(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__fold__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1);
casadi::Function*
    casadi__Function__fold__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        casadi::Function ret = obj->fold(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "forward" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::forward"
// cWrapperName: "casadi__Function__forward"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__forward(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::Function ret = obj->forward(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__forward(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::Function*
    casadi__Function__forward(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Function ret = obj->forward(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "free_mx" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::free_mx"
// cWrapperName: "casadi__Function__free_mx"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< casadi::MX > ret = obj->free_mx();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::MX* >*
    casadi__Function__free_mx(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::MX > ret = obj->free_mx();

        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;
    }
}


// ================== Normal method: "free_sx" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::free_sx"
// cWrapperName: "casadi__Function__free_sx"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< casadi::SX > ret = obj->free_sx();"
// params: []
extern "C"
std::vector< casadi::SX* >*
    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::SX* >*
    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::SX > ret = obj->free_sx();

        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;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate"
// cWrapperName: "casadi__Function__generate__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::string ret = obj->generate();"
// params: []
extern "C"
std::string*
    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj);
std::string*
    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj){
    try {

        std::string ret = obj->generate();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate"
// cWrapperName: "casadi__Function__generate__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
// call: "        std::string ret = obj->generate(x0_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
std::string*
    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0);
std::string*
    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        std::string ret = obj->generate(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate"
// cWrapperName: "casadi__Function__generate__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        std::string ret = obj->generate(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
std::string*
    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->generate(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate"
// cWrapperName: "casadi__Function__generate__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        std::string ret = obj->generate(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
std::string*
    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
std::string*
    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        std::string ret = obj->generate(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate_dependencies" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate_dependencies"
// cWrapperName: "casadi__Function__generate_dependencies__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        std::string ret = obj->generate_dependencies(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
std::string*
    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->generate_dependencies(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate_dependencies" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate_dependencies"
// cWrapperName: "casadi__Function__generate_dependencies__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        std::string ret = obj->generate_dependencies(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
std::string*
    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
std::string*
    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        std::string ret = obj->generate_dependencies(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "generate_lifted" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::generate_lifted"
// cWrapperName: "casadi__Function__generate_lifted"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1)"
// call: "        obj->generate_lifted(x0_, x1_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "Function")),SwigOutput True),(Ref (UserType (Namespace ["casadi"]) (Name "Function")),SwigOutput True)]
extern "C"
void
    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1);
void
    casadi__Function__generate_lifted(std::string ** err_msg, casadi::Function* obj, casadi::Function** x0, casadi::Function** x1){
    try {
        casadi::Function x0_ = casadi::Function();  // Swig output
        casadi::Function x1_ = casadi::Function();  // Swig output

        obj->generate_lifted(x0_, x1_);
        *x0 = WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( x0_ );
        *x1 = WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_free" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::get_free"
// cWrapperName: "casadi__Function__get_free"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec StdString
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__Function__get_free(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< std::string > ret = obj->get_free();"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__Function__get_free(std::string ** err_msg, casadi::Function* obj);
std::vector< std::string* >*
    casadi__Function__get_free(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< std::string > ret = obj->get_free();

        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_function" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::get_function"
// cWrapperName: "casadi__Function__get_function__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::Function ret = obj->get_function(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Function*
    casadi__Function__get_function__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = obj->get_function(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_function" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::get_function"
// cWrapperName: "casadi__Function__get_function__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdVec StdString
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< std::string > ret = obj->get_function();"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj);
std::vector< std::string* >*
    casadi__Function__get_function__1(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< std::string > ret = obj->get_function();

        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_free" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::has_free"
// cWrapperName: "casadi__Function__has_free"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj)"
// call: "        bool ret = obj->has_free();"
// params: []
extern "C"
int
    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__has_free(std::string ** err_msg, casadi::Function* obj){
    try {

        bool ret = obj->has_free();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_function" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::has_function"
// cWrapperName: "casadi__Function__has_function"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        bool ret = obj->has_function(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0);
int
    casadi__Function__has_function(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = obj->has_function(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_spfwd" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::has_spfwd"
// cWrapperName: "casadi__Function__has_spfwd"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__has_spfwd(std::string ** err_msg, casadi::Function* obj)"
// call: "        bool ret = obj->has_spfwd();"
// params: []
extern "C"
int
    casadi__Function__has_spfwd(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__has_spfwd(std::string ** err_msg, casadi::Function* obj){
    try {

        bool ret = obj->has_spfwd();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_sprev" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::has_sprev"
// cWrapperName: "casadi__Function__has_sprev"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__has_sprev(std::string ** err_msg, casadi::Function* obj)"
// call: "        bool ret = obj->has_sprev();"
// params: []
extern "C"
int
    casadi__Function__has_sprev(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__has_sprev(std::string ** err_msg, casadi::Function* obj){
    try {

        bool ret = obj->has_sprev();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hessian_old" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::hessian_old"
// cWrapperName: "casadi__Function__hessian_old"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__hessian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
// call: "        casadi::Function ret = obj->hessian_old(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__hessian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1);
casadi::Function*
    casadi__Function__hessian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Function ret = obj->hessian_old(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "if_else" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::if_else"
// cWrapperName: "casadi__Function__if_else__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2)"
// call: "        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2);
casadi::Function*
    casadi__Function__if_else__0(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);

        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "if_else" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::if_else"
// cWrapperName: "casadi__Function__if_else__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    casadi__Function__if_else__1(std::string ** err_msg, std::string* x0, casadi::Function* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Function& x1_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Function ret = casadi::Function::if_else(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "index_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::index_in"
// cWrapperName: "casadi__Function__index_in"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->index_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__index_in(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->index_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "index_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::index_out"
// cWrapperName: "casadi__Function__index_out"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->index_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__index_out(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->index_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "info" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::info"
// cWrapperName: "casadi__Function__info"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__info(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Function__info(std::string ** err_msg, casadi::Function* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__Function__info(std::string ** err_msg, casadi::Function* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->info();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "instruction_MX" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::instruction_MX"
// cWrapperName: "casadi__Function__instruction_MX"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Function__instruction_MX(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::MX ret = obj->instruction_MX(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Function__instruction_MX(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::MX*
    casadi__Function__instruction_MX(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->instruction_MX(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "instruction_constant" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::instruction_constant"
// cWrapperName: "casadi__Function__instruction_constant"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__Function__instruction_constant(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        double ret = obj->instruction_constant(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
double
    casadi__Function__instruction_constant(std::string ** err_msg, casadi::Function* obj, long long x0);
double
    casadi__Function__instruction_constant(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        double ret = obj->instruction_constant(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "instruction_id" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::instruction_id"
// cWrapperName: "casadi__Function__instruction_id"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__instruction_id(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->instruction_id(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__instruction_id(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__instruction_id(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->instruction_id(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "instruction_input" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::instruction_input"
// cWrapperName: "casadi__Function__instruction_input"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Function__instruction_input(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        std::vector< long long > ret = obj->instruction_input(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Function__instruction_input(std::string ** err_msg, casadi::Function* obj, long long x0);
std::vector< long long >*
    casadi__Function__instruction_input(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::vector< long long > ret = obj->instruction_input(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "instruction_output" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::instruction_output"
// cWrapperName: "casadi__Function__instruction_output"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Function__instruction_output(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        std::vector< long long > ret = obj->instruction_output(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Function__instruction_output(std::string ** err_msg, casadi::Function* obj, long long x0);
std::vector< long long >*
    casadi__Function__instruction_output(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::vector< long long > ret = obj->instruction_output(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_a" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::is_a"
// cWrapperName: "casadi__Function__is_a__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        bool ret = obj->is_a(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
int
    casadi__Function__is_a__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = obj->is_a(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_a" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::is_a"
// cWrapperName: "casadi__Function__is_a__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1)"
// call: "        bool ret = obj->is_a(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
int
    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
int
    casadi__Function__is_a__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        bool ret = obj->is_a(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jac"
// cWrapperName: "casadi__Function__jac"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jac(std::string ** err_msg, casadi::Function* obj)"
// call: "        casadi::Function ret = obj->jac();"
// params: []
extern "C"
casadi::Function*
    casadi__Function__jac(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__jac(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->jac();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian"
// cWrapperName: "casadi__Function__jacobian"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian(std::string ** err_msg, casadi::Function* obj)"
// call: "        casadi::Function ret = obj->jacobian();"
// params: []
extern "C"
casadi::Function*
    casadi__Function__jacobian(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__jacobian(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->jacobian();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "jacobian_old" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jacobian_old"
// cWrapperName: "casadi__Function__jacobian_old"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jacobian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
// call: "        casadi::Function ret = obj->jacobian_old(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__jacobian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1);
casadi::Function*
    casadi__Function__jacobian_old(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Function ret = obj->jacobian_old(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "jit" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jit"
// cWrapperName: "casadi__Function__jit__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jit__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5)"
// call: "        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__jit__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5);
casadi::Function*
    casadi__Function__jit__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::vector< casadi::Sparsity > x4_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x4);
        std::vector< casadi::Sparsity > x5_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x5);

        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "jit" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jit"
// cWrapperName: "casadi__Function__jit__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5, std::map< std::string, casadi::GenericType* >* x6)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jit__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5, std::map< std::string, casadi::GenericType* >* x6)"
// call: "        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__jit__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5, std::map< std::string, casadi::GenericType* >* x6);
casadi::Function*
    casadi__Function__jit__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::vector< casadi::Sparsity* >* x4, std::vector< casadi::Sparsity* >* x5, std::map< std::string, casadi::GenericType* >* x6){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::vector< casadi::Sparsity > x4_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x4);
        std::vector< casadi::Sparsity > x5_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x5);
        std::map< std::string, casadi::GenericType > x6_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x6);

        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output
        // x6 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "jit" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jit"
// cWrapperName: "casadi__Function__jit__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jit__2(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
// call: "        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__jit__2(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
casadi::Function*
    casadi__Function__jit__2(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);

        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "jit" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::jit"
// cWrapperName: "casadi__Function__jit__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__jit__3(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__jit__3(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    casadi__Function__jit__3(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        casadi::Function ret = casadi::Function::jit(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4)"
// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4);
casadi::Function*
    casadi__Function__map__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);

        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5);
casadi::Function*
    casadi__Function__map__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< std::string* >* x3, std::vector< std::string* >* x4, std::map< std::string, casadi::GenericType* >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::vector< std::string > x4_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x4);
        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);

        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4)"
// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4);
casadi::Function*
    casadi__Function__map__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);

        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4, std::map< std::string, casadi::GenericType* >* x5)"
// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4, std::map< std::string, casadi::GenericType* >* x5);
casadi::Function*
    casadi__Function__map__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, long long x2, std::vector< long long >* x3, std::vector< long long >* x4, std::map< std::string, casadi::GenericType* >* x5){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
        std::map< std::string, casadi::GenericType > x5_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x5);

        casadi::Function ret = obj->map(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, long long x2)"
// call: "        casadi::Function ret = obj->map(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, long long x2);
casadi::Function*
    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, long long x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::Function ret = obj->map(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::Function ret = obj->map(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::Function*
    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Function ret = obj->map(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "map" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::map"
// cWrapperName: "casadi__Function__map__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1)"
// call: "        casadi::Function ret = obj->map(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1);
casadi::Function*
    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = obj->map(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::Function ret = obj->mapaccum(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::Function*
    casadi__Function__mapaccum__0(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Function ret = obj->mapaccum(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1);
casadi::Function*
    casadi__Function__mapaccum__1(std::string ** err_msg, casadi::Function* obj, long long x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        casadi::Function ret = obj->mapaccum(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3);
casadi::Function*
    casadi__Function__mapaccum__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);

        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< std::string* >* x2, std::vector< std::string* >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< std::string > x2_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x2);
        std::vector< std::string > x3_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
casadi::Function*
    casadi__Function__mapaccum__4(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    casadi__Function__mapaccum__5(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::map< std::string, casadi::GenericType* >* x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        std::map< std::string, casadi::GenericType > x4_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x4);

        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2);
casadi::Function*
    casadi__Function__mapaccum__6(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    casadi__Function__mapaccum__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, long long x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1);
casadi::Function*
    casadi__Function__mapaccum__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Function ret = obj->mapaccum(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapaccum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapaccum"
// cWrapperName: "casadi__Function__mapaccum__9"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__mapaccum__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__mapaccum__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Function*
    casadi__Function__mapaccum__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapsum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapsum"
// cWrapperName: "casadi__Function__mapsum__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
// call: "        std::vector< casadi::MX > ret = obj->mapsum(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0);
std::vector< casadi::MX* >*
    casadi__Function__mapsum__0(std::string ** err_msg, casadi::Function* obj, 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 = obj->mapsum(x0_);
        // x0 is not a swig output

        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;
    }
}


// ================== Normal method: "mapsum" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mapsum"
// cWrapperName: "casadi__Function__mapsum__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
// call: "        std::vector< casadi::MX > ret = obj->mapsum(x0_, x1_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1);
std::vector< casadi::MX* >*
    casadi__Function__mapsum__1(std::string ** err_msg, casadi::Function* obj, 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 = obj->mapsum(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        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;
    }
}


// ================== Normal method: "max_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::max_in"
// cWrapperName: "casadi__Function__max_in"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__Function__max_in(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        double ret = obj->max_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
double
    casadi__Function__max_in(std::string ** err_msg, casadi::Function* obj, long long x0);
double
    casadi__Function__max_in(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        double ret = obj->max_in(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "min_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::min_in"
// cWrapperName: "casadi__Function__min_in"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__Function__min_in(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        double ret = obj->min_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
double
    casadi__Function__min_in(std::string ** err_msg, casadi::Function* obj, long long x0);
double
    casadi__Function__min_in(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        double ret = obj->min_in(x0_);
        // x0 is not a swig output

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mx_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mx_in"
// cWrapperName: "casadi__Function__mx_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< casadi::MX > ret = obj->mx_in();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::MX* >*
    casadi__Function__mx_in__0(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::MX > ret = obj->mx_in();

        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;
    }
}


// ================== Normal method: "mx_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mx_in"
// cWrapperName: "casadi__Function__mx_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->mx_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::MX*
    casadi__Function__mx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->mx_in(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mx_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mx_in"
// cWrapperName: "casadi__Function__mx_in__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::MX ret = obj->mx_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::MX*
    casadi__Function__mx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->mx_in(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mx_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mx_out"
// cWrapperName: "casadi__Function__mx_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< casadi::MX > ret = obj->mx_out();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::MX* >*
    casadi__Function__mx_out__0(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::MX > ret = obj->mx_out();

        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;
    }
}


// ================== Normal method: "mx_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mx_out"
// cWrapperName: "casadi__Function__mx_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->mx_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::MX*
    casadi__Function__mx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->mx_out(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mx_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::mx_out"
// cWrapperName: "casadi__Function__mx_out__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::MX ret = obj->mx_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::MX*
    casadi__Function__mx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->mx_out(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::n_in"
// cWrapperName: "casadi__Function__n_in"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->n_in();"
// params: []
extern "C"
long long
    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__n_in(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->n_in();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_instructions" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::n_instructions"
// cWrapperName: "casadi__Function__n_instructions"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__n_instructions(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->n_instructions();"
// params: []
extern "C"
long long
    casadi__Function__n_instructions(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__n_instructions(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->n_instructions();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_nodes" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::n_nodes"
// cWrapperName: "casadi__Function__n_nodes"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->n_nodes();"
// params: []
extern "C"
long long
    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__n_nodes(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->n_nodes();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::n_out"
// cWrapperName: "casadi__Function__n_out"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->n_out();"
// params: []
extern "C"
long long
    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__n_out(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->n_out();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::name"
// cWrapperName: "casadi__Function__name"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__name(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::string ret = obj->name();"
// params: []
extern "C"
std::string*
    casadi__Function__name(std::string ** err_msg, casadi::Function* obj);
std::string*
    casadi__Function__name(std::string ** err_msg, casadi::Function* obj){
    try {

        std::string ret = obj->name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::name_in"
// cWrapperName: "casadi__Function__name_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: Const StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        std::string ret = obj->name_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, long long x0);
std::string*
    casadi__Function__name_in__0(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = obj->name_in(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::name_in"
// cWrapperName: "casadi__Function__name_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: Const (StdVec StdString)
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< std::string > ret = obj->name_in();"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj);
std::vector< std::string* >*
    casadi__Function__name_in__1(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< std::string > ret = obj->name_in();

        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::name_out"
// cWrapperName: "casadi__Function__name_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: Const StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        std::string ret = obj->name_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, long long x0);
std::string*
    casadi__Function__name_out__0(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = obj->name_out(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::name_out"
// cWrapperName: "casadi__Function__name_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: Const (StdVec StdString)
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< std::string > ret = obj->name_out();"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj);
std::vector< std::string* >*
    casadi__Function__name_out__1(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< std::string > ret = obj->name_out();

        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nnz_in"
// cWrapperName: "casadi__Function__nnz_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->nnz_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__nnz_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->nnz_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nnz_in"
// cWrapperName: "casadi__Function__nnz_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->nnz_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__nnz_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->nnz_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nnz_in"
// cWrapperName: "casadi__Function__nnz_in__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->nnz_in();"
// params: []
extern "C"
long long
    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__nnz_in__2(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->nnz_in();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nnz_out"
// cWrapperName: "casadi__Function__nnz_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->nnz_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__nnz_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->nnz_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nnz_out"
// cWrapperName: "casadi__Function__nnz_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->nnz_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__nnz_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->nnz_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::nnz_out"
// cWrapperName: "casadi__Function__nnz_out__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->nnz_out();"
// params: []
extern "C"
long long
    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__nnz_out__2(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->nnz_out();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::numel_in"
// cWrapperName: "casadi__Function__numel_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->numel_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__numel_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->numel_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::numel_in"
// cWrapperName: "casadi__Function__numel_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->numel_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__numel_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->numel_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::numel_in"
// cWrapperName: "casadi__Function__numel_in__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->numel_in();"
// params: []
extern "C"
long long
    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__numel_in__2(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->numel_in();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::numel_out"
// cWrapperName: "casadi__Function__numel_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->numel_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__numel_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->numel_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::numel_out"
// cWrapperName: "casadi__Function__numel_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->numel_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__numel_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->numel_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::numel_out"
// cWrapperName: "casadi__Function__numel_out__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj)"
// call: "        long long ret = obj->numel_out();"
// params: []
extern "C"
long long
    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj);
long long
    casadi__Function__numel_out__2(std::string ** err_msg, casadi::Function* obj){
    try {

        long long ret = obj->numel_out();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "oracle" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::oracle"
// cWrapperName: "casadi__Function__oracle"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj)"
// call: "        casadi::Function ret = obj->oracle();"
// params: []
extern "C"
casadi::Function*
    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__oracle(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->oracle();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "print_dimensions" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::print_dimensions"
// cWrapperName: "casadi__Function__print_dimensions"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj)"
// call: "        obj->print_dimensions();"
// params: []
extern "C"
void
    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj);
void
    casadi__Function__print_dimensions(std::string ** err_msg, casadi::Function* obj){
    try {

        obj->print_dimensions();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "print_option" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::print_option"
// cWrapperName: "casadi__Function__print_option"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        obj->print_option(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0);
void
    casadi__Function__print_option(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->print_option(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "print_options" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::print_options"
// cWrapperName: "casadi__Function__print_options"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj)"
// call: "        obj->print_options();"
// params: []
extern "C"
void
    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj);
void
    casadi__Function__print_options(std::string ** err_msg, casadi::Function* obj){
    try {

        obj->print_options();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "release" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::release"
// cWrapperName: "casadi__Function__release"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        obj->release(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, long long x0);
void
    casadi__Function__release(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        obj->release(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reverse" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::reverse"
// cWrapperName: "casadi__Function__reverse"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__reverse(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::Function ret = obj->reverse(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__reverse(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::Function*
    casadi__Function__reverse(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Function ret = obj->reverse(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "serialize" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::serialize"
// cWrapperName: "casadi__Function__serialize"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__serialize(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::string ret = obj->serialize();"
// params: []
extern "C"
std::string*
    casadi__Function__serialize(std::string ** err_msg, casadi::Function* obj);
std::string*
    casadi__Function__serialize(std::string ** err_msg, casadi::Function* obj){
    try {

        std::string ret = obj->serialize();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size1_in"
// cWrapperName: "casadi__Function__size1_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->size1_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__size1_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->size1_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size1_in"
// cWrapperName: "casadi__Function__size1_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->size1_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__size1_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size1_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size1_out"
// cWrapperName: "casadi__Function__size1_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->size1_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__size1_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->size1_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size1_out"
// cWrapperName: "casadi__Function__size1_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->size1_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__size1_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size1_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size2_in"
// cWrapperName: "casadi__Function__size2_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->size2_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__size2_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->size2_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size2_in"
// cWrapperName: "casadi__Function__size2_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->size2_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__size2_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size2_in(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size2_out"
// cWrapperName: "casadi__Function__size2_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        long long ret = obj->size2_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
long long
    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
long long
    casadi__Function__size2_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        long long ret = obj->size2_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size2_out"
// cWrapperName: "casadi__Function__size2_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        long long ret = obj->size2_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
long long
    casadi__Function__size2_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size2_out(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size_in"
// cWrapperName: "casadi__Function__size_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        std::pair< long long, long long > ret = obj->size_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::pair< long long, long long >*
    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
std::pair< long long, long long >*
    casadi__Function__size_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::pair< long long, long long > ret = obj->size_in(x0_);
        // x0 is not a swig output

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size_in"
// cWrapperName: "casadi__Function__size_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        std::pair< long long, long long > ret = obj->size_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::pair< long long, long long >*
    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
std::pair< long long, long long >*
    casadi__Function__size_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::pair< long long, long long > ret = obj->size_in(x0_);
        // x0 is not a swig output

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size_out"
// cWrapperName: "casadi__Function__size_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        std::pair< long long, long long > ret = obj->size_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::pair< long long, long long >*
    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
std::pair< long long, long long >*
    casadi__Function__size_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::pair< long long, long long > ret = obj->size_out(x0_);
        // x0 is not a swig output

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::size_out"
// cWrapperName: "casadi__Function__size_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        std::pair< long long, long long > ret = obj->size_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::pair< long long, long long >*
    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
std::pair< long long, long long >*
    casadi__Function__size_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::pair< long long, long long > ret = obj->size_out(x0_);
        // x0 is not a swig output

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "slice" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::slice"
// cWrapperName: "casadi__Function__slice__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// call: "        casadi::Function ret = obj->slice(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2);
casadi::Function*
    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);

        casadi::Function ret = obj->slice(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "slice" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::slice"
// cWrapperName: "casadi__Function__slice__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Function ret = obj->slice(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Function*
    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< long long >* x1, std::vector< long long >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Function ret = obj->slice(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_in"
// cWrapperName: "casadi__Function__sparsity_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::Sparsity ret = obj->sparsity_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Sparsity*
    casadi__Function__sparsity_in__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Sparsity ret = obj->sparsity_in(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_in"
// cWrapperName: "casadi__Function__sparsity_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::Sparsity ret = obj->sparsity_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::Sparsity*
    casadi__Function__sparsity_in__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = obj->sparsity_in(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1);
casadi::Sparsity*
    casadi__Function__sparsity_jac__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2);
casadi::Sparsity*
    casadi__Function__sparsity_jac__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3);
casadi::Sparsity*
    casadi__Function__sparsity_jac__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1);
casadi::Sparsity*
    casadi__Function__sparsity_jac__3(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2);
casadi::Sparsity*
    casadi__Function__sparsity_jac__4(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2, int x3)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2, int x3);
casadi::Sparsity*
    casadi__Function__sparsity_jac__5(std::string ** err_msg, casadi::Function* obj, long long x0, std::string* x1, int x2, int x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__6"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Sparsity*
    casadi__Function__sparsity_jac__6(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Sparsity ret = obj->sparsity_jac(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__7"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1);
casadi::Sparsity*
    casadi__Function__sparsity_jac__7(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__8"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2);
casadi::Sparsity*
    casadi__Function__sparsity_jac__8(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__9"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2, int x3)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2, int x3);
casadi::Sparsity*
    casadi__Function__sparsity_jac__9(std::string ** err_msg, casadi::Function* obj, std::string* x0, long long x1, int x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__10"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1);
casadi::Sparsity*
    casadi__Function__sparsity_jac__10(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__11"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2);
casadi::Sparsity*
    casadi__Function__sparsity_jac__11(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_jac" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_jac"
// cWrapperName: "casadi__Function__sparsity_jac__12"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2, int x3)"
// call: "        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2, int x3);
casadi::Sparsity*
    casadi__Function__sparsity_jac__12(std::string ** err_msg, casadi::Function* obj, long long x0, long long x1, int x2, int x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->sparsity_jac(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_out"
// cWrapperName: "casadi__Function__sparsity_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::Sparsity ret = obj->sparsity_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::Sparsity*
    casadi__Function__sparsity_out__0(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Sparsity ret = obj->sparsity_out(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sparsity_out"
// cWrapperName: "casadi__Function__sparsity_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::Sparsity ret = obj->sparsity_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::Sparsity*
    casadi__Function__sparsity_out__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = obj->sparsity_out(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "stats" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::stats"
// cWrapperName: "casadi__Function__stats__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__Function__stats__0(std::string ** err_msg, casadi::Function* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->stats();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "stats" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::stats"
// cWrapperName: "casadi__Function__stats__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, long long x0);
std::map< std::string, casadi::GenericType* >*
    casadi__Function__stats__1(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::map< std::string, casadi::GenericType > ret = obj->stats(x0_);
        // x0 is not a swig output

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sx_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sx_in"
// cWrapperName: "casadi__Function__sx_in__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< casadi::SX > ret = obj->sx_in();"
// params: []
extern "C"
std::vector< casadi::SX* >*
    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::SX* >*
    casadi__Function__sx_in__0(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::SX > ret = obj->sx_in();

        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;
    }
}


// ================== Normal method: "sx_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sx_in"
// cWrapperName: "casadi__Function__sx_in__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::SX ret = obj->sx_in(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::SX*
    casadi__Function__sx_in__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = obj->sx_in(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sx_in" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sx_in"
// cWrapperName: "casadi__Function__sx_in__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::SX ret = obj->sx_in(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::SX*
    casadi__Function__sx_in__2(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = obj->sx_in(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sx_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sx_out"
// cWrapperName: "casadi__Function__sx_out__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj)"
// call: "        std::vector< casadi::SX > ret = obj->sx_out();"
// params: []
extern "C"
std::vector< casadi::SX* >*
    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj);
std::vector< casadi::SX* >*
    casadi__Function__sx_out__0(std::string ** err_msg, casadi::Function* obj){
    try {

        std::vector< casadi::SX > ret = obj->sx_out();

        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;
    }
}


// ================== Normal method: "sx_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sx_out"
// cWrapperName: "casadi__Function__sx_out__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
// call: "        casadi::SX ret = obj->sx_out(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0);
casadi::SX*
    casadi__Function__sx_out__1(std::string ** err_msg, casadi::Function* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = obj->sx_out(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sx_out" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sx_out"
// cWrapperName: "casadi__Function__sx_out__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, long long x0)"
// args: "(x0_)"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0)"
// call: "        casadi::SX ret = obj->sx_out(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0);
casadi::SX*
    casadi__Function__sx_out__2(std::string ** err_msg, casadi::Function* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = obj->sx_out(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sz_arg" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sz_arg"
// cWrapperName: "casadi__Function__sz_arg"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj)"
// call: "        size_t ret = obj->sz_arg();"
// params: []
extern "C"
size_t
    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj);
size_t
    casadi__Function__sz_arg(std::string ** err_msg, casadi::Function* obj){
    try {

        size_t ret = obj->sz_arg();

        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sz_iw" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sz_iw"
// cWrapperName: "casadi__Function__sz_iw"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj)"
// call: "        size_t ret = obj->sz_iw();"
// params: []
extern "C"
size_t
    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj);
size_t
    casadi__Function__sz_iw(std::string ** err_msg, casadi::Function* obj){
    try {

        size_t ret = obj->sz_iw();

        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sz_res" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sz_res"
// cWrapperName: "casadi__Function__sz_res"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj)"
// call: "        size_t ret = obj->sz_res();"
// params: []
extern "C"
size_t
    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj);
size_t
    casadi__Function__sz_res(std::string ** err_msg, casadi::Function* obj){
    try {

        size_t ret = obj->sz_res();

        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sz_w" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::sz_w"
// cWrapperName: "casadi__Function__sz_w"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj)"
// call: "        size_t ret = obj->sz_w();"
// params: []
extern "C"
size_t
    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj);
size_t
    casadi__Function__sz_w(std::string ** err_msg, casadi::Function* obj){
    try {

        size_t ret = obj->sz_w();

        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::type_name"
// cWrapperName: "casadi__Function__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Function__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::Function::type_name();"
// params: []
extern "C"
std::string*
    casadi__Function__type_name(std::string ** err_msg);
std::string*
    casadi__Function__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::Function::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "uses_output" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::uses_output"
// cWrapperName: "casadi__Function__uses_output"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Function__uses_output(std::string ** err_msg, casadi::Function* obj)"
// call: "        bool ret = obj->uses_output();"
// params: []
extern "C"
int
    casadi__Function__uses_output(std::string ** err_msg, casadi::Function* obj);
int
    casadi__Function__uses_output(std::string ** err_msg, casadi::Function* obj){
    try {

        bool ret = obj->uses_output();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "which_depends" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::which_depends"
// cWrapperName: "casadi__Function__which_depends__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CBool
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1)"
// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
std::vector< int >*
    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1);
std::vector< int >*
    casadi__Function__which_depends__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        std::vector< bool > ret = obj->which_depends(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "which_depends" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::which_depends"
// cWrapperName: "casadi__Function__which_depends__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec CBool
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2)"
// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< int >*
    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2);
std::vector< int >*
    casadi__Function__which_depends__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "which_depends" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::which_depends"
// cWrapperName: "casadi__Function__which_depends__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec CBool
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2, int x3)"
// call: "        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False),(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< int >*
    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2, int x3);
std::vector< int >*
    casadi__Function__which_depends__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::vector< std::string* >* x1, long long x2, int x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        std::vector< bool > ret = obj->which_depends(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "wrap" ===============
// class: "casadi::Function"
// cppName: "casadi::Function::wrap"
// cWrapperName: "casadi__Function__wrap"
// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj)"
// call: "        casadi::Function ret = obj->wrap();"
// params: []
extern "C"
casadi::Function*
    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj);
casadi::Function*
    casadi__Function__wrap(std::string ** err_msg, casadi::Function* obj){
    try {

        casadi::Function ret = obj->wrap();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "GenericExpressionCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "GenericExpressionCommon")
extern "C"
void delete_casadi__GenericExpressionCommon(casadi::GenericExpressionCommon* obj);
void delete_casadi__GenericExpressionCommon(casadi::GenericExpressionCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "GenericMatrixCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "GenericMatrixCommon")
extern "C"
void delete_casadi__GenericMatrixCommon(casadi::GenericMatrixCommon* obj);
void delete_casadi__GenericMatrixCommon(casadi::GenericMatrixCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "GenericType")===============
// classType: UserType (Namespace ["casadi"]) (Name "GenericType")
extern "C"
void delete_casadi__GenericType(casadi::GenericType* obj);
void delete_casadi__GenericType(casadi::GenericType* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__0(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::Function* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::Function* >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::Function* >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::Function* >* x0){
    try {
        std::vector< casadi::Function > x0_ = Marshaling<std::vector< casadi::Function >,std::vector< casadi::Function* >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::Function* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::Function* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__2(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::vector< std::string* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< std::string* >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdVec StdString)),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< std::string* >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__3(std::string ** err_msg, std::vector< std::string* >* x0){
    try {
        std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
    try {
        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__5(std::string ** err_msg, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< long long >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< long long >* >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdVec (StdVec CLongLong))),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< long long >* >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__6(std::string ** err_msg, std::vector< std::vector< long long >* >* x0){
    try {
        std::vector< std::vector< long long > > x0_ = Marshaling<std::vector< std::vector< long long > >,std::vector< std::vector< long long >* >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdVec CInt)),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__7(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< long long >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< long long >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__8(std::string ** err_msg, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, std::vector< int >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::vector< int >* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const (StdVec CBool)),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::vector< int >* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__9(std::string ** err_msg, std::vector< int >* x0){
    try {
        std::vector< bool > x0_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__10(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__11"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, double x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(CDouble,SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, double x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__11(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__12"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(CInt,SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__12(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__13"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg, long long x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg, long long x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__13(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__14"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__14(std::string ** err_msg, int x0)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__14(std::string ** err_msg, int x0);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__14(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType"
// cWrapperName: "casadi__GenericType__CONSTRUCTOR__15"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "GenericType")
// cWrapperRetType: "casadi::GenericType*"
// proto: "casadi::GenericType*\n    casadi__GenericType__CONSTRUCTOR__15(std::string ** err_msg)"
// call: "        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType();"
// params: []
extern "C"
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__15(std::string ** err_msg);
casadi::GenericType*
    casadi__GenericType__CONSTRUCTOR__15(std::string ** err_msg){
    try {

        casadi::GenericType* ret = (casadi::GenericType*)new casadi::GenericType();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_bool" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_bool"
// cWrapperName: "casadi__GenericType__as_bool"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->as_bool();"
// params: []
extern "C"
int
    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__as_bool(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->as_bool();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_bool_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_bool_vector"
// cWrapperName: "casadi__GenericType__as_bool_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (StdVec CLongLong)
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< long long > ret = obj->as_bool_vector();"
// params: []
extern "C"
std::vector< long long >*
    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< long long >*
    casadi__GenericType__as_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< long long > ret = obj->as_bool_vector();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_dict" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_dict"
// cWrapperName: "casadi__GenericType__as_dict"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->as_dict();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__GenericType__as_dict(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->as_dict();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_double" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_double"
// cWrapperName: "casadi__GenericType__as_double"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        double ret = obj->as_double();"
// params: []
extern "C"
double
    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj);
double
    casadi__GenericType__as_double(std::string ** err_msg, casadi::GenericType* obj){
    try {

        double ret = obj->as_double();

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_double_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_double_vector"
// cWrapperName: "casadi__GenericType__as_double_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (StdVec CDouble)
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< double > ret = obj->as_double_vector();"
// params: []
extern "C"
std::vector< double >*
    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< double >*
    casadi__GenericType__as_double_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< double > ret = obj->as_double_vector();

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_double_vector_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_double_vector_vector"
// cWrapperName: "casadi__GenericType__as_double_vector_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (StdVec (StdVec CDouble))
// cWrapperRetType: "std::vector< std::vector< double >* >*"
// proto: "std::vector< std::vector< double >* >*\n    casadi__GenericType__as_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< std::vector< double > > ret = obj->as_double_vector_vector();"
// params: []
extern "C"
std::vector< std::vector< double >* >*
    casadi__GenericType__as_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< std::vector< double >* >*
    casadi__GenericType__as_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< std::vector< double > > ret = obj->as_double_vector_vector();

        return WrapReturn< std::vector< std::vector< double >* >*, std::vector< std::vector< double > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_function" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_function"
// cWrapperName: "casadi__GenericType__as_function"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Function"))
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        casadi::Function ret = obj->as_function();"
// params: []
extern "C"
casadi::Function*
    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj);
casadi::Function*
    casadi__GenericType__as_function(std::string ** err_msg, casadi::GenericType* obj){
    try {

        casadi::Function ret = obj->as_function();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_function_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_function_vector"
// cWrapperName: "casadi__GenericType__as_function_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (StdVec (UserType (Namespace ["casadi"]) (Name "Function")))
// cWrapperRetType: "std::vector< casadi::Function* >*"
// proto: "std::vector< casadi::Function* >*\n    casadi__GenericType__as_function_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< casadi::Function > ret = obj->as_function_vector();"
// params: []
extern "C"
std::vector< casadi::Function* >*
    casadi__GenericType__as_function_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< casadi::Function* >*
    casadi__GenericType__as_function_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< casadi::Function > ret = obj->as_function_vector();

        return WrapReturn< std::vector< casadi::Function* >*, std::vector< casadi::Function > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_int" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_int"
// cWrapperName: "casadi__GenericType__as_int"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        long long ret = obj->as_int();"
// params: []
extern "C"
long long
    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj);
long long
    casadi__GenericType__as_int(std::string ** err_msg, casadi::GenericType* obj){
    try {

        long long ret = obj->as_int();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_int_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_int_vector"
// cWrapperName: "casadi__GenericType__as_int_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (StdVec CLongLong)
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< long long > ret = obj->as_int_vector();"
// params: []
extern "C"
std::vector< long long >*
    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< long long >*
    casadi__GenericType__as_int_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< long long > ret = obj->as_int_vector();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_int_vector_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_int_vector_vector"
// cWrapperName: "casadi__GenericType__as_int_vector_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (StdVec (StdVec CLongLong))
// cWrapperRetType: "std::vector< std::vector< long long >* >*"
// proto: "std::vector< std::vector< long long >* >*\n    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< std::vector< long long > > ret = obj->as_int_vector_vector();"
// params: []
extern "C"
std::vector< std::vector< long long >* >*
    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< std::vector< long long >* >*
    casadi__GenericType__as_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< std::vector< long long > > ret = obj->as_int_vector_vector();

        return WrapReturn< std::vector< std::vector< long long >* >*, std::vector< std::vector< long long > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_string" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_string"
// cWrapperName: "casadi__GenericType__as_string"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::string ret = obj->as_string();"
// params: []
extern "C"
std::string*
    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj);
std::string*
    casadi__GenericType__as_string(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::string ret = obj->as_string();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_string_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_string_vector"
// cWrapperName: "casadi__GenericType__as_string_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: Const (StdVec StdString)
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< std::string > ret = obj->as_string_vector();"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< std::string* >*
    casadi__GenericType__as_string_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< std::string > ret = obj->as_string_vector();

        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "as_void_pointer" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::as_void_pointer"
// cWrapperName: "casadi__GenericType__as_void_pointer"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        obj->as_void_pointer();"
// params: []
extern "C"
void
    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
void
    casadi__GenericType__as_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
    try {

        obj->as_void_pointer();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "getType" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::getType"
// cWrapperName: "casadi__GenericType__getType"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CEnum (Namespace ["casadi"]) (Name "TypeID")
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        casadi::TypeID ret = obj->getType();"
// params: []
extern "C"
int
    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__getType(std::string ** err_msg, casadi::GenericType* obj){
    try {

        casadi::TypeID ret = obj->getType();

        return WrapReturn< int, casadi::TypeID >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_description" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::get_description"
// cWrapperName: "casadi__GenericType__get_description"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::string ret = obj->get_description();"
// params: []
extern "C"
std::string*
    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj);
std::string*
    casadi__GenericType__get_description(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::string ret = obj->get_description();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_bool" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_bool"
// cWrapperName: "casadi__GenericType__is_bool"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_bool();"
// params: []
extern "C"
int
    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_bool(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_bool();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_bool_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_bool_vector"
// cWrapperName: "casadi__GenericType__is_bool_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_bool_vector();"
// params: []
extern "C"
int
    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_bool_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_dict" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_dict"
// cWrapperName: "casadi__GenericType__is_dict"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_dict();"
// params: []
extern "C"
int
    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_dict(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_dict();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_double" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_double"
// cWrapperName: "casadi__GenericType__is_double"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_double();"
// params: []
extern "C"
int
    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_double(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_double();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_double_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_double_vector"
// cWrapperName: "casadi__GenericType__is_double_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_double_vector();"
// params: []
extern "C"
int
    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_double_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_double_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_double_vector_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_double_vector_vector"
// cWrapperName: "casadi__GenericType__is_double_vector_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_double_vector_vector();"
// params: []
extern "C"
int
    casadi__GenericType__is_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_double_vector_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_empty_vector"
// cWrapperName: "casadi__GenericType__is_empty_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_empty_vector();"
// params: []
extern "C"
int
    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_empty_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_empty_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_function" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_function"
// cWrapperName: "casadi__GenericType__is_function"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_function();"
// params: []
extern "C"
int
    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_function(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_function();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_function_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_function_vector"
// cWrapperName: "casadi__GenericType__is_function_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_function_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_function_vector();"
// params: []
extern "C"
int
    casadi__GenericType__is_function_vector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_function_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_function_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_int" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_int"
// cWrapperName: "casadi__GenericType__is_int"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_int();"
// params: []
extern "C"
int
    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_int(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_int();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_int_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_int_vector"
// cWrapperName: "casadi__GenericType__is_int_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_int_vector();"
// params: []
extern "C"
int
    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_int_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_int_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_int_vector_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_int_vector_vector"
// cWrapperName: "casadi__GenericType__is_int_vector_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_int_vector_vector();"
// params: []
extern "C"
int
    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_int_vector_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_string" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_string"
// cWrapperName: "casadi__GenericType__is_string"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_string();"
// params: []
extern "C"
int
    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_string(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_string();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_string_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_string_vector"
// cWrapperName: "casadi__GenericType__is_string_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_string_vector();"
// params: []
extern "C"
int
    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_string_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_string_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_void_pointer" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::is_void_pointer"
// cWrapperName: "casadi__GenericType__is_void_pointer"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->is_void_pointer();"
// params: []
extern "C"
int
    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__is_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->is_void_pointer();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator !=" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::operator !="
// cWrapperName: "casadi__GenericType__operator__nequals"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// call: "        bool ret = obj->operator !=(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType"))),SwigOutput False)]
extern "C"
int
    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
int
    casadi__GenericType__operator__nequals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
    try {
        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);

        bool ret = obj->operator !=(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ==" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::operator =="
// cWrapperName: "casadi__GenericType__operator__equals"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0)"
// call: "        bool ret = obj->operator ==(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "GenericType"))),SwigOutput False)]
extern "C"
int
    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0);
int
    casadi__GenericType__operator__equals(std::string ** err_msg, casadi::GenericType* obj, casadi::GenericType* x0){
    try {
        casadi::GenericType& x0_ = Marshaling<casadi::GenericType&,casadi::GenericType*>::marshal(x0);

        bool ret = obj->operator ==(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_bool" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_bool"
// cWrapperName: "casadi__GenericType__to_bool"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        bool ret = obj->to_bool();"
// params: []
extern "C"
int
    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj);
int
    casadi__GenericType__to_bool(std::string ** err_msg, casadi::GenericType* obj){
    try {

        bool ret = obj->to_bool();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_bool_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_bool_vector"
// cWrapperName: "casadi__GenericType__to_bool_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec CBool
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< bool > ret = obj->to_bool_vector();"
// params: []
extern "C"
std::vector< int >*
    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< int >*
    casadi__GenericType__to_bool_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< bool > ret = obj->to_bool_vector();

        return WrapReturn< std::vector< int >*, std::vector< bool > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_dict" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_dict"
// cWrapperName: "casadi__GenericType__to_dict"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->to_dict();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__GenericType__to_dict(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->to_dict();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_double" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_double"
// cWrapperName: "casadi__GenericType__to_double"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        double ret = obj->to_double();"
// params: []
extern "C"
double
    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj);
double
    casadi__GenericType__to_double(std::string ** err_msg, casadi::GenericType* obj){
    try {

        double ret = obj->to_double();

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_double_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_double_vector"
// cWrapperName: "casadi__GenericType__to_double_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec CDouble
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< double > ret = obj->to_double_vector();"
// params: []
extern "C"
std::vector< double >*
    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< double >*
    casadi__GenericType__to_double_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< double > ret = obj->to_double_vector();

        return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_double_vector_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_double_vector_vector"
// cWrapperName: "casadi__GenericType__to_double_vector_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec (StdVec CDouble)
// cWrapperRetType: "std::vector< std::vector< double >* >*"
// proto: "std::vector< std::vector< double >* >*\n    casadi__GenericType__to_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< std::vector< double > > ret = obj->to_double_vector_vector();"
// params: []
extern "C"
std::vector< std::vector< double >* >*
    casadi__GenericType__to_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< std::vector< double >* >*
    casadi__GenericType__to_double_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< std::vector< double > > ret = obj->to_double_vector_vector();

        return WrapReturn< std::vector< std::vector< double >* >*, std::vector< std::vector< double > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_function" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_function"
// cWrapperName: "casadi__GenericType__to_function"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        casadi::Function ret = obj->to_function();"
// params: []
extern "C"
casadi::Function*
    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj);
casadi::Function*
    casadi__GenericType__to_function(std::string ** err_msg, casadi::GenericType* obj){
    try {

        casadi::Function ret = obj->to_function();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_function_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_function_vector"
// cWrapperName: "casadi__GenericType__to_function_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "Function"))
// cWrapperRetType: "std::vector< casadi::Function* >*"
// proto: "std::vector< casadi::Function* >*\n    casadi__GenericType__to_function_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< casadi::Function > ret = obj->to_function_vector();"
// params: []
extern "C"
std::vector< casadi::Function* >*
    casadi__GenericType__to_function_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< casadi::Function* >*
    casadi__GenericType__to_function_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< casadi::Function > ret = obj->to_function_vector();

        return WrapReturn< std::vector< casadi::Function* >*, std::vector< casadi::Function > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_int" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_int"
// cWrapperName: "casadi__GenericType__to_int"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        long long ret = obj->to_int();"
// params: []
extern "C"
long long
    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj);
long long
    casadi__GenericType__to_int(std::string ** err_msg, casadi::GenericType* obj){
    try {

        long long ret = obj->to_int();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_int_type_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_int_type_vector"
// cWrapperName: "casadi__GenericType__to_int_type_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec CInt
// cWrapperRetType: "std::vector< int >*"
// proto: "std::vector< int >*\n    casadi__GenericType__to_int_type_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< int > ret = obj->to_int_type_vector();"
// params: []
extern "C"
std::vector< int >*
    casadi__GenericType__to_int_type_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< int >*
    casadi__GenericType__to_int_type_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< int > ret = obj->to_int_type_vector();

        return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_int_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_int_vector"
// cWrapperName: "casadi__GenericType__to_int_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< long long > ret = obj->to_int_vector();"
// params: []
extern "C"
std::vector< long long >*
    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< long long >*
    casadi__GenericType__to_int_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< long long > ret = obj->to_int_vector();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_int_vector_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_int_vector_vector"
// cWrapperName: "casadi__GenericType__to_int_vector_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec (StdVec CLongLong)
// cWrapperRetType: "std::vector< std::vector< long long >* >*"
// proto: "std::vector< std::vector< long long >* >*\n    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< std::vector< long long > > ret = obj->to_int_vector_vector();"
// params: []
extern "C"
std::vector< std::vector< long long >* >*
    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< std::vector< long long >* >*
    casadi__GenericType__to_int_vector_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< std::vector< long long > > ret = obj->to_int_vector_vector();

        return WrapReturn< std::vector< std::vector< long long >* >*, std::vector< std::vector< long long > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_string" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_string"
// cWrapperName: "casadi__GenericType__to_string"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::string ret = obj->to_string();"
// params: []
extern "C"
std::string*
    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj);
std::string*
    casadi__GenericType__to_string(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::string ret = obj->to_string();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_string_vector" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_string_vector"
// cWrapperName: "casadi__GenericType__to_string_vector"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: StdVec StdString
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        std::vector< std::string > ret = obj->to_string_vector();"
// params: []
extern "C"
std::vector< std::string* >*
    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj);
std::vector< std::string* >*
    casadi__GenericType__to_string_vector(std::string ** err_msg, casadi::GenericType* obj){
    try {

        std::vector< std::string > ret = obj->to_string_vector();

        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_void_pointer" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::to_void_pointer"
// cWrapperName: "casadi__GenericType__to_void_pointer"
// protoArgs: "(std::string ** err_msg, casadi::GenericType* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj)"
// call: "        obj->to_void_pointer();"
// params: []
extern "C"
void
    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj);
void
    casadi__GenericType__to_void_pointer(std::string ** err_msg, casadi::GenericType* obj){
    try {

        obj->to_void_pointer();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::GenericType"
// cppName: "casadi::GenericType::type_name"
// cWrapperName: "casadi__GenericType__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__GenericType__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::GenericType::type_name();"
// params: []
extern "C"
std::string*
    casadi__GenericType__type_name(std::string ** err_msg);
std::string*
    casadi__GenericType__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::GenericType::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "GlobalOptions")===============
// classType: UserType (Namespace ["casadi"]) (Name "GlobalOptions")
extern "C"
void delete_casadi__GlobalOptions(casadi::GlobalOptions* obj);
void delete_casadi__GlobalOptions(casadi::GlobalOptions* obj){
    delete obj;
}

// ================== Static method: "getCasadiPath" ===============
// class: "casadi::GlobalOptions"
// cppName: "casadi::GlobalOptions::getCasadiPath"
// cWrapperName: "casadi__GlobalOptions__getCasadiPath"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg)"
// call: "        std::string ret = casadi::GlobalOptions::getCasadiPath();"
// params: []
extern "C"
std::string*
    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg);
std::string*
    casadi__GlobalOptions__getCasadiPath(std::string ** err_msg){
    try {

        std::string ret = casadi::GlobalOptions::getCasadiPath();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getHierarchicalSparsity" ===============
// class: "casadi::GlobalOptions"
// cppName: "casadi::GlobalOptions::getHierarchicalSparsity"
// cWrapperName: "casadi__GlobalOptions__getHierarchicalSparsity"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg)"
// call: "        bool ret = casadi::GlobalOptions::getHierarchicalSparsity();"
// params: []
extern "C"
int
    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg);
int
    casadi__GlobalOptions__getHierarchicalSparsity(std::string ** err_msg){
    try {

        bool ret = casadi::GlobalOptions::getHierarchicalSparsity();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getMaxNumDir" ===============
// class: "casadi::GlobalOptions"
// cppName: "casadi::GlobalOptions::getMaxNumDir"
// cWrapperName: "casadi__GlobalOptions__getMaxNumDir"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__GlobalOptions__getMaxNumDir(std::string ** err_msg)"
// call: "        long long ret = casadi::GlobalOptions::getMaxNumDir();"
// params: []
extern "C"
long long
    casadi__GlobalOptions__getMaxNumDir(std::string ** err_msg);
long long
    casadi__GlobalOptions__getMaxNumDir(std::string ** err_msg){
    try {

        long long ret = casadi::GlobalOptions::getMaxNumDir();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "getSimplificationOnTheFly" ===============
// class: "casadi::GlobalOptions"
// cppName: "casadi::GlobalOptions::getSimplificationOnTheFly"
// cWrapperName: "casadi__GlobalOptions__getSimplificationOnTheFly"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg)"
// call: "        bool ret = casadi::GlobalOptions::getSimplificationOnTheFly();"
// params: []
extern "C"
int
    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg);
int
    casadi__GlobalOptions__getSimplificationOnTheFly(std::string ** err_msg){
    try {

        bool ret = casadi::GlobalOptions::getSimplificationOnTheFly();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "setCasadiPath" ===============
// class: "casadi::GlobalOptions"
// cppName: "casadi::GlobalOptions::setCasadiPath"
// cWrapperName: "casadi__GlobalOptions__setCasadiPath"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0)"
// call: "        casadi::GlobalOptions::setCasadiPath(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0);
void
    casadi__GlobalOptions__setCasadiPath(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::GlobalOptions::setCasadiPath(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setHierarchicalSparsity" ===============
// class: "casadi::GlobalOptions"
// cppName: "casadi::GlobalOptions::setHierarchicalSparsity"
// cWrapperName: "casadi__GlobalOptions__setHierarchicalSparsity"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0)"
// call: "        casadi::GlobalOptions::setHierarchicalSparsity(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
void
    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0);
void
    casadi__GlobalOptions__setHierarchicalSparsity(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::GlobalOptions::setHierarchicalSparsity(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setMaxNumDir" ===============
// class: "casadi::GlobalOptions"
// cppName: "casadi::GlobalOptions::setMaxNumDir"
// cWrapperName: "casadi__GlobalOptions__setMaxNumDir"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__GlobalOptions__setMaxNumDir(std::string ** err_msg, long long x0)"
// call: "        casadi::GlobalOptions::setMaxNumDir(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__GlobalOptions__setMaxNumDir(std::string ** err_msg, long long x0);
void
    casadi__GlobalOptions__setMaxNumDir(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::GlobalOptions::setMaxNumDir(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "setSimplificationOnTheFly" ===============
// class: "casadi::GlobalOptions"
// cppName: "casadi::GlobalOptions::setSimplificationOnTheFly"
// cWrapperName: "casadi__GlobalOptions__setSimplificationOnTheFly"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0)"
// call: "        casadi::GlobalOptions::setSimplificationOnTheFly(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
void
    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0);
void
    casadi__GlobalOptions__setSimplificationOnTheFly(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::GlobalOptions::setSimplificationOnTheFly(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "IM")===============
// classType: UserType (Namespace ["casadi"]) (Name "IM")
extern "C"
void delete_casadi__IM(casadi::IM* obj);
void delete_casadi__IM(casadi::IM* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0);
casadi::IM*
    casadi__IM__CONSTRUCTOR__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SXElem")))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0);
casadi::IM*
    casadi__IM__CONSTRUCTOR__1(std::string ** err_msg, std::vector< casadi::SXElem* >* x0){
    try {
        std::vector< casadi::SXElem > x0_ = Marshaling<std::vector< casadi::SXElem >,std::vector< casadi::SXElem* >*>::marshal(x0);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0);
casadi::IM*
    casadi__IM__CONSTRUCTOR__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0);
casadi::IM*
    casadi__IM__CONSTRUCTOR__3(std::string ** err_msg, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
casadi::IM*
    casadi__IM__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
    try {
        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
// params: [(CDouble,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0);
casadi::IM*
    casadi__IM__CONSTRUCTOR__5(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1);
casadi::IM*
    casadi__IM__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::IM* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IM*
    casadi__IM__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1);
casadi::IM*
    casadi__IM__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi__IM__CONSTRUCTOR__9(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM* ret = (casadi::IM*)new casadi::IM(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IM"
// cppName: "casadi::IM"
// cWrapperName: "casadi__IM__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg)"
// call: "        casadi::IM* ret = (casadi::IM*)new casadi::IM();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg);
casadi::IM*
    casadi__IM__CONSTRUCTOR__10(std::string ** err_msg){
    try {

        casadi::IM* ret = (casadi::IM*)new casadi::IM();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::T"
// cWrapperName: "casadi__IM__T"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__T(std::string ** err_msg, casadi::IM* obj)"
// call: "        casadi::IM ret = obj->T();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__T(std::string ** err_msg, casadi::IM* obj);
casadi::IM*
    casadi__IM__T(std::string ** err_msg, casadi::IM* obj){
    try {

        casadi::IM ret = obj->T();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "__nonzero__" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::__nonzero__"
// cWrapperName: "casadi__IM____nonzero__"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->__nonzero__();"
// params: []
extern "C"
int
    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM____nonzero__(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->__nonzero__();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "binary" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::binary"
// cWrapperName: "casadi__IM__binary"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__binary(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
// call: "        casadi::IM ret = casadi::IM::binary(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__binary(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi__IM__binary(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        casadi::IM ret = casadi::IM::binary(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clear" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::clear"
// cWrapperName: "casadi__IM__clear"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj)"
// call: "        obj->clear();"
// params: []
extern "C"
void
    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj);
void
    casadi__IM__clear(std::string ** err_msg, casadi::IM* obj){
    try {

        obj->clear();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::colind"
// cWrapperName: "casadi__IM__colind"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, long long x0)"
// call: "        long long ret = obj->colind(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, long long x0);
long long
    casadi__IM__colind(std::string ** err_msg, casadi::IM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->colind(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "columns" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::columns"
// cWrapperName: "casadi__IM__columns"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__columns(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->columns();"
// params: []
extern "C"
long long
    casadi__IM__columns(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__columns(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->columns();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dep" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::dep"
// cWrapperName: "casadi__IM__dep__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj)"
// call: "        casadi::IM ret = obj->dep();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj);
casadi::IM*
    casadi__IM__dep__0(std::string ** err_msg, casadi::IM* obj){
    try {

        casadi::IM ret = obj->dep();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dep" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::dep"
// cWrapperName: "casadi__IM__dep__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, long long x0)"
// call: "        casadi::IM ret = obj->dep(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, long long x0);
casadi::IM*
    casadi__IM__dep__1(std::string ** err_msg, casadi::IM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM ret = obj->dep(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::dim"
// cWrapperName: "casadi__IM__dim__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IM__dim__0(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::string ret = obj->dim();"
// params: []
extern "C"
std::string*
    casadi__IM__dim__0(std::string ** err_msg, casadi::IM* obj);
std::string*
    casadi__IM__dim__0(std::string ** err_msg, casadi::IM* obj){
    try {

        std::string ret = obj->dim();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::dim"
// cWrapperName: "casadi__IM__dim__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IM__dim__1(std::string ** err_msg, casadi::IM* obj, int x0)"
// call: "        std::string ret = obj->dim(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__IM__dim__1(std::string ** err_msg, casadi::IM* obj, int x0);
std::string*
    casadi__IM__dim__1(std::string ** err_msg, casadi::IM* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->dim(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "element_hash" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::element_hash"
// cWrapperName: "casadi__IM__element_hash"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->element_hash();"
// params: []
extern "C"
long long
    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__element_hash(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->element_hash();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::enlarge"
// cWrapperName: "casadi__IM__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
void
    casadi__IM__enlarge__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::enlarge"
// cWrapperName: "casadi__IM__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
void
    casadi__IM__enlarge__1(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::erase"
// cWrapperName: "casadi__IM__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0)"
// call: "        obj->erase(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0);
void
    casadi__IM__erase__0(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        obj->erase(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::erase"
// cWrapperName: "casadi__IM__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, int x1)"
// call: "        obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, int x1);
void
    casadi__IM__erase__1(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, int x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::erase"
// cWrapperName: "casadi__IM__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1);
void
    casadi__IM__erase__2(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::erase"
// cWrapperName: "casadi__IM__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// call: "        obj->erase(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
void
    casadi__IM__erase__3(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->erase(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "export_code" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::export_code"
// cWrapperName: "casadi__IM__export_code"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__export_code(std::string ** err_msg, casadi::IM* obj, std::string* x0)"
// call: "        obj->export_code(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__IM__export_code(std::string ** err_msg, casadi::IM* obj, std::string* x0);
void
    casadi__IM__export_code(std::string ** err_msg, casadi::IM* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->export_code(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "eye" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::eye"
// cWrapperName: "casadi__IM__eye"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__eye(std::string ** err_msg, long long x0)"
// call: "        casadi::IM ret = casadi::IM::eye(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__eye(std::string ** err_msg, long long x0);
casadi::IM*
    casadi__IM__eye(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM ret = casadi::IM::eye(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "from_info" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::from_info"
// cWrapperName: "casadi__IM__from_info"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// call: "        casadi::IM ret = casadi::IM::from_info(x0_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
casadi::IM*
    casadi__IM__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        casadi::IM ret = casadi::IM::from_info(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get"
// cWrapperName: "casadi__IM__get__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi__IM__get__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get"
// cWrapperName: "casadi__IM__get__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
void
    casadi__IM__get__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get"
// cWrapperName: "casadi__IM__get__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
void
    casadi__IM__get__2(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get"
// cWrapperName: "casadi__IM__get__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__IM__get__3(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get"
// cWrapperName: "casadi__IM__get__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2);
void
    casadi__IM__get__4(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get"
// cWrapperName: "casadi__IM__get__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2);
void
    casadi__IM__get__5(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get"
// cWrapperName: "casadi__IM__get__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2);
void
    casadi__IM__get__6(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_colind" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_colind"
// cWrapperName: "casadi__IM__get_colind"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::vector< long long > ret = obj->get_colind();"
// params: []
extern "C"
std::vector< long long >*
    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj);
std::vector< long long >*
    casadi__IM__get_colind(std::string ** err_msg, casadi::IM* obj){
    try {

        std::vector< long long > ret = obj->get_colind();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_elements" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_elements"
// cWrapperName: "casadi__IM__get_elements"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__IM__get_elements(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::vector< long long > ret = obj->get_elements();"
// params: []
extern "C"
std::vector< long long >*
    casadi__IM__get_elements(std::string ** err_msg, casadi::IM* obj);
std::vector< long long >*
    casadi__IM__get_elements(std::string ** err_msg, casadi::IM* obj){
    try {

        std::vector< long long > ret = obj->get_elements();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_free" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_free"
// cWrapperName: "casadi__IM__get_free"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0)"
// call: "        std::vector< casadi::IM > ret = casadi::IM::get_free(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
std::vector< casadi::IM* >*
    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0);
std::vector< casadi::IM* >*
    casadi__IM__get_free(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        std::vector< casadi::IM > ret = casadi::IM::get_free(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_input" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_input"
// cWrapperName: "casadi__IM__get_input"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0)"
// call: "        std::vector< casadi::IM > ret = casadi::IM::get_input(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
std::vector< casadi::IM* >*
    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0);
std::vector< casadi::IM* >*
    casadi__IM__get_input(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        std::vector< casadi::IM > ret = casadi::IM::get_input(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_max_depth" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_max_depth"
// cWrapperName: "casadi__IM__get_max_depth"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__get_max_depth(std::string ** err_msg)"
// call: "        long long ret = casadi::IM::get_max_depth();"
// params: []
extern "C"
long long
    casadi__IM__get_max_depth(std::string ** err_msg);
long long
    casadi__IM__get_max_depth(std::string ** err_msg){
    try {

        long long ret = casadi::IM::get_max_depth();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nonzeros" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_nonzeros"
// cWrapperName: "casadi__IM__get_nonzeros"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::vector< long long > ret = obj->get_nonzeros();"
// params: []
extern "C"
std::vector< long long >*
    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj);
std::vector< long long >*
    casadi__IM__get_nonzeros(std::string ** err_msg, casadi::IM* obj){
    try {

        std::vector< long long > ret = obj->get_nonzeros();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_nz"
// cWrapperName: "casadi__IM__get_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2)"
// call: "        obj->get_nz(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2);
void
    casadi__IM__get_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::IM* x2){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->get_nz(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_nz"
// cWrapperName: "casadi__IM__get_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2)"
// call: "        obj->get_nz(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2);
void
    casadi__IM__get_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM** x0, int x1, casadi::Slice* x2){
    try {
        casadi::IM x0_ = casadi::IM();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get_nz(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_row" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_row"
// cWrapperName: "casadi__IM__get_row"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::vector< long long > ret = obj->get_row();"
// params: []
extern "C"
std::vector< long long >*
    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj);
std::vector< long long >*
    casadi__IM__get_row(std::string ** err_msg, casadi::IM* obj){
    try {

        std::vector< long long > ret = obj->get_row();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_sparsity" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_sparsity"
// cWrapperName: "casadi__IM__get_sparsity"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj)"
// call: "        casadi::Sparsity ret = obj->get_sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj);
casadi::Sparsity*
    casadi__IM__get_sparsity(std::string ** err_msg, casadi::IM* obj){
    try {

        casadi::Sparsity ret = obj->get_sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_str"
// cWrapperName: "casadi__IM__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IM__get_str__0(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__IM__get_str__0(std::string ** err_msg, casadi::IM* obj);
std::string*
    casadi__IM__get_str__0(std::string ** err_msg, casadi::IM* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::get_str"
// cWrapperName: "casadi__IM__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IM__get_str__1(std::string ** err_msg, casadi::IM* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__IM__get_str__1(std::string ** err_msg, casadi::IM* obj, int x0);
std::string*
    casadi__IM__get_str__1(std::string ** err_msg, casadi::IM* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_duplicates" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::has_duplicates"
// cWrapperName: "casadi__IM__has_duplicates"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->has_duplicates();"
// params: []
extern "C"
int
    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__has_duplicates(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->has_duplicates();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_nz" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::has_nz"
// cWrapperName: "casadi__IM__has_nz"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
// call: "        bool ret = obj->has_nz(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1);
int
    casadi__IM__has_nz(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        bool ret = obj->has_nz(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_zeros" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::has_zeros"
// cWrapperName: "casadi__IM__has_zeros"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->has_zeros();"
// params: []
extern "C"
int
    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__has_zeros(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->has_zeros();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::inf"
// cWrapperName: "casadi__IM__inf__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::IM*
    casadi__IM__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::IM ret = casadi::IM::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::inf"
// cWrapperName: "casadi__IM__inf__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__inf__1(std::string ** err_msg)"
// call: "        casadi::IM ret = casadi::IM::inf();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__inf__1(std::string ** err_msg);
casadi::IM*
    casadi__IM__inf__1(std::string ** err_msg){
    try {

        casadi::IM ret = casadi::IM::inf();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::inf"
// cWrapperName: "casadi__IM__inf__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__inf__2(std::string ** err_msg, long long x0)"
// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__inf__2(std::string ** err_msg, long long x0);
casadi::IM*
    casadi__IM__inf__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM ret = casadi::IM::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::inf"
// cWrapperName: "casadi__IM__inf__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__inf__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::IM ret = casadi::IM::inf(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__inf__3(std::string ** err_msg, long long x0, long long x1);
casadi::IM*
    casadi__IM__inf__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = casadi::IM::inf(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::inf"
// cWrapperName: "casadi__IM__inf__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::IM ret = casadi::IM::inf(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IM*
    casadi__IM__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IM ret = casadi::IM::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "info" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::info"
// cWrapperName: "casadi__IM__info"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__IM__info(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__IM__info(std::string ** err_msg, casadi::IM* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__IM__info(std::string ** err_msg, casadi::IM* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->info();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_column" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_column"
// cWrapperName: "casadi__IM__is_column"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_column();"
// params: []
extern "C"
int
    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_column(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_column();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_commutative" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_commutative"
// cWrapperName: "casadi__IM__is_commutative"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_commutative();"
// params: []
extern "C"
int
    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_commutative(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_commutative();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_constant" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_constant"
// cWrapperName: "casadi__IM__is_constant"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_constant();"
// params: []
extern "C"
int
    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_constant(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_constant();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_dense" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_dense"
// cWrapperName: "casadi__IM__is_dense"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_dense();"
// params: []
extern "C"
int
    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_dense(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_dense();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_empty"
// cWrapperName: "casadi__IM__is_empty__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_empty();"
// params: []
extern "C"
int
    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_empty__0(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_empty();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_empty"
// cWrapperName: "casadi__IM__is_empty__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0)"
// call: "        bool ret = obj->is_empty(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0);
int
    casadi__IM__is_empty__1(std::string ** err_msg, casadi::IM* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_empty(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_eye" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_eye"
// cWrapperName: "casadi__IM__is_eye"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_eye(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_eye();"
// params: []
extern "C"
int
    casadi__IM__is_eye(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_eye(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_eye();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_integer" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_integer"
// cWrapperName: "casadi__IM__is_integer"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_integer();"
// params: []
extern "C"
int
    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_integer(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_integer();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_leaf" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_leaf"
// cWrapperName: "casadi__IM__is_leaf"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_leaf();"
// params: []
extern "C"
int
    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_leaf(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_leaf();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_minus_one" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_minus_one"
// cWrapperName: "casadi__IM__is_minus_one"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_minus_one();"
// params: []
extern "C"
int
    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_minus_one(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_minus_one();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_one" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_one"
// cWrapperName: "casadi__IM__is_one"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_one();"
// params: []
extern "C"
int
    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_one(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_one();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_op" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_op"
// cWrapperName: "casadi__IM__is_op"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_op(std::string ** err_msg, casadi::IM* obj, long long x0)"
// call: "        bool ret = obj->is_op(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__IM__is_op(std::string ** err_msg, casadi::IM* obj, long long x0);
int
    casadi__IM__is_op(std::string ** err_msg, casadi::IM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        bool ret = obj->is_op(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_regular" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_regular"
// cWrapperName: "casadi__IM__is_regular"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_regular();"
// params: []
extern "C"
int
    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_regular(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_regular();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_row" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_row"
// cWrapperName: "casadi__IM__is_row"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_row();"
// params: []
extern "C"
int
    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_row(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_row();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_scalar"
// cWrapperName: "casadi__IM__is_scalar__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_scalar();"
// params: []
extern "C"
int
    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_scalar__0(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_scalar();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_scalar"
// cWrapperName: "casadi__IM__is_scalar__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0)"
// call: "        bool ret = obj->is_scalar(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0);
int
    casadi__IM__is_scalar__1(std::string ** err_msg, casadi::IM* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_scalar(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_smooth" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_smooth"
// cWrapperName: "casadi__IM__is_smooth"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_smooth();"
// params: []
extern "C"
int
    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_smooth(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_smooth();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_square" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_square"
// cWrapperName: "casadi__IM__is_square"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_square();"
// params: []
extern "C"
int
    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_square(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_square();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_symbolic" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_symbolic"
// cWrapperName: "casadi__IM__is_symbolic"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_symbolic();"
// params: []
extern "C"
int
    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_symbolic(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_symbolic();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_tril" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_tril"
// cWrapperName: "casadi__IM__is_tril"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_tril();"
// params: []
extern "C"
int
    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_tril(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_tril();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_triu" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_triu"
// cWrapperName: "casadi__IM__is_triu"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_triu();"
// params: []
extern "C"
int
    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_triu(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_triu();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_valid_input" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_valid_input"
// cWrapperName: "casadi__IM__is_valid_input"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_valid_input();"
// params: []
extern "C"
int
    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_valid_input(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_valid_input();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_vector" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_vector"
// cWrapperName: "casadi__IM__is_vector"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_vector();"
// params: []
extern "C"
int
    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_vector(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_zero" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::is_zero"
// cWrapperName: "casadi__IM__is_zero"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj)"
// call: "        bool ret = obj->is_zero();"
// params: []
extern "C"
int
    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj);
int
    casadi__IM__is_zero(std::string ** err_msg, casadi::IM* obj){
    try {

        bool ret = obj->is_zero();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_matrix" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::matrix_matrix"
// cWrapperName: "casadi__IM__matrix_matrix"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__matrix_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
// call: "        casadi::IM ret = casadi::IM::matrix_matrix(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__matrix_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi__IM__matrix_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        casadi::IM ret = casadi::IM::matrix_matrix(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_scalar" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::matrix_scalar"
// cWrapperName: "casadi__IM__matrix_scalar"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__matrix_scalar(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
// call: "        casadi::IM ret = casadi::IM::matrix_scalar(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__matrix_scalar(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi__IM__matrix_scalar(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        casadi::IM ret = casadi::IM::matrix_scalar(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_dep" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::n_dep"
// cWrapperName: "casadi__IM__n_dep"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->n_dep();"
// params: []
extern "C"
long long
    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__n_dep(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->n_dep();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::name"
// cWrapperName: "casadi__IM__name"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IM__name(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::string ret = obj->name();"
// params: []
extern "C"
std::string*
    casadi__IM__name(std::string ** err_msg, casadi::IM* obj);
std::string*
    casadi__IM__name(std::string ** err_msg, casadi::IM* obj){
    try {

        std::string ret = obj->name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nan"
// cWrapperName: "casadi__IM__nan__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::IM*
    casadi__IM__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::IM ret = casadi::IM::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nan"
// cWrapperName: "casadi__IM__nan__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__nan__1(std::string ** err_msg)"
// call: "        casadi::IM ret = casadi::IM::nan();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__nan__1(std::string ** err_msg);
casadi::IM*
    casadi__IM__nan__1(std::string ** err_msg){
    try {

        casadi::IM ret = casadi::IM::nan();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nan"
// cWrapperName: "casadi__IM__nan__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__nan__2(std::string ** err_msg, long long x0)"
// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__nan__2(std::string ** err_msg, long long x0);
casadi::IM*
    casadi__IM__nan__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM ret = casadi::IM::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nan"
// cWrapperName: "casadi__IM__nan__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__nan__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::IM ret = casadi::IM::nan(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__nan__3(std::string ** err_msg, long long x0, long long x1);
casadi::IM*
    casadi__IM__nan__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = casadi::IM::nan(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nan"
// cWrapperName: "casadi__IM__nan__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::IM ret = casadi::IM::nan(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IM*
    casadi__IM__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IM ret = casadi::IM::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nnz"
// cWrapperName: "casadi__IM__nnz"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->nnz();"
// params: []
extern "C"
long long
    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__nnz(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->nnz();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_diag" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nnz_diag"
// cWrapperName: "casadi__IM__nnz_diag"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->nnz_diag();"
// params: []
extern "C"
long long
    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__nnz_diag(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->nnz_diag();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_lower" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nnz_lower"
// cWrapperName: "casadi__IM__nnz_lower"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->nnz_lower();"
// params: []
extern "C"
long long
    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__nnz_lower(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->nnz_lower();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_upper" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::nnz_upper"
// cWrapperName: "casadi__IM__nnz_upper"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->nnz_upper();"
// params: []
extern "C"
long long
    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__nnz_upper(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->nnz_upper();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::numel"
// cWrapperName: "casadi__IM__numel"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__numel(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->numel();"
// params: []
extern "C"
long long
    casadi__IM__numel(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__numel(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->numel();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::ones"
// cWrapperName: "casadi__IM__ones__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::IM*
    casadi__IM__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::IM ret = casadi::IM::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::ones"
// cWrapperName: "casadi__IM__ones__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IM*
    casadi__IM__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IM ret = casadi::IM::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::ones"
// cWrapperName: "casadi__IM__ones__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__ones__2(std::string ** err_msg)"
// call: "        casadi::IM ret = casadi::IM::ones();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__ones__2(std::string ** err_msg);
casadi::IM*
    casadi__IM__ones__2(std::string ** err_msg){
    try {

        casadi::IM ret = casadi::IM::ones();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::ones"
// cWrapperName: "casadi__IM__ones__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__ones__3(std::string ** err_msg, long long x0)"
// call: "        casadi::IM ret = casadi::IM::ones(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__ones__3(std::string ** err_msg, long long x0);
casadi::IM*
    casadi__IM__ones__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM ret = casadi::IM::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::ones"
// cWrapperName: "casadi__IM__ones__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__ones__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::IM ret = casadi::IM::ones(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__ones__4(std::string ** err_msg, long long x0, long long x1);
casadi::IM*
    casadi__IM__ones__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = casadi::IM::ones(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "op" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::op"
// cWrapperName: "casadi__IM__op"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__op(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->op();"
// params: []
extern "C"
long long
    casadi__IM__op(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__op(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->op();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator +" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::operator +"
// cWrapperName: "casadi__IM__operator__plus"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj)"
// call: "        casadi::IM ret = obj->operator +();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj);
casadi::IM*
    casadi__IM__operator__plus(std::string ** err_msg, casadi::IM* obj){
    try {

        casadi::IM ret = obj->operator +();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator -" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::operator -"
// cWrapperName: "casadi__IM__operator__minus"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj)"
// call: "        casadi::IM ret = obj->operator -();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj);
casadi::IM*
    casadi__IM__operator__minus(std::string ** err_msg, casadi::IM* obj){
    try {

        casadi::IM ret = obj->operator -();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator casadi_int" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::operator casadi_int"
// cWrapperName: "casadi__IM__operator_casadi_int"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__operator_casadi_int(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->operator casadi_int();"
// params: []
extern "C"
long long
    casadi__IM__operator_casadi_int(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__operator_casadi_int(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->operator casadi_int();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator double" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::operator double"
// cWrapperName: "casadi__IM__operator_double"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj)"
// call: "        double ret = obj->operator double();"
// params: []
extern "C"
double
    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj);
double
    casadi__IM__operator_double(std::string ** err_msg, casadi::IM* obj){
    try {

        double ret = obj->operator double();

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "print_split" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::print_split"
// cWrapperName: "casadi__IM__print_split"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
// call: "        obj->print_split(x0_, x1_);"
// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
extern "C"
void
    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
void
    casadi__IM__print_split(std::string ** err_msg, casadi::IM* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
    try {
        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output

        obj->print_split(x0_, x1_);
        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printme" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::printme"
// cWrapperName: "casadi__IM__printme"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0)"
// call: "        casadi::IM ret = obj->printme(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0);
casadi::IM*
    casadi__IM__printme(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = obj->printme(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::rand"
// cWrapperName: "casadi__IM__rand__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::IM ret = casadi::IM::rand(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::IM*
    casadi__IM__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::IM ret = casadi::IM::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::rand"
// cWrapperName: "casadi__IM__rand__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__rand__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::IM ret = casadi::IM::rand(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__rand__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IM*
    casadi__IM__rand__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IM ret = casadi::IM::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::rand"
// cWrapperName: "casadi__IM__rand__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__rand__2(std::string ** err_msg)"
// call: "        casadi::IM ret = casadi::IM::rand();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__rand__2(std::string ** err_msg);
casadi::IM*
    casadi__IM__rand__2(std::string ** err_msg){
    try {

        casadi::IM ret = casadi::IM::rand();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::rand"
// cWrapperName: "casadi__IM__rand__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__rand__3(std::string ** err_msg, long long x0)"
// call: "        casadi::IM ret = casadi::IM::rand(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__rand__3(std::string ** err_msg, long long x0);
casadi::IM*
    casadi__IM__rand__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM ret = casadi::IM::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::rand"
// cWrapperName: "casadi__IM__rand__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__rand__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::IM ret = casadi::IM::rand(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__rand__4(std::string ** err_msg, long long x0, long long x1);
casadi::IM*
    casadi__IM__rand__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = casadi::IM::rand(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "remove" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::remove"
// cWrapperName: "casadi__IM__remove"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        obj->remove(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1);
void
    casadi__IM__remove(std::string ** err_msg, casadi::IM* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->remove(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::reserve"
// cWrapperName: "casadi__IM__reserve__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
// call: "        obj->reserve(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1);
void
    casadi__IM__reserve__0(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        obj->reserve(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::reserve"
// cWrapperName: "casadi__IM__reserve__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, long long x0)"
// call: "        obj->reserve(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, long long x0);
void
    casadi__IM__reserve__1(std::string ** err_msg, casadi::IM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        obj->reserve(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reset_input" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::reset_input"
// cWrapperName: "casadi__IM__reset_input"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__reset_input(std::string ** err_msg, casadi::IM* obj)"
// call: "        obj->reset_input();"
// params: []
extern "C"
void
    casadi__IM__reset_input(std::string ** err_msg, casadi::IM* obj);
void
    casadi__IM__reset_input(std::string ** err_msg, casadi::IM* obj){
    try {

        obj->reset_input();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resize" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::resize"
// cWrapperName: "casadi__IM__resize"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1)"
// call: "        obj->resize(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1);
void
    casadi__IM__resize(std::string ** err_msg, casadi::IM* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        obj->resize(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "rng" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::rng"
// cWrapperName: "casadi__IM__rng"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__rng(std::string ** err_msg, long long x0)"
// call: "        casadi::IM::rng(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__IM__rng(std::string ** err_msg, long long x0);
void
    casadi__IM__rng(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM::rng(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::row"
// cWrapperName: "casadi__IM__row"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, long long x0)"
// call: "        long long ret = obj->row(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, long long x0);
long long
    casadi__IM__row(std::string ** err_msg, casadi::IM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->row(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rows" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::rows"
// cWrapperName: "casadi__IM__rows"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__rows(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->rows();"
// params: []
extern "C"
long long
    casadi__IM__rows(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__rows(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->rows();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "scalar_matrix" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::scalar_matrix"
// cWrapperName: "casadi__IM__scalar_matrix"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__scalar_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2)"
// call: "        casadi::IM ret = casadi::IM::scalar_matrix(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__scalar_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi__IM__scalar_matrix(std::string ** err_msg, long long x0, casadi::IM* x1, casadi::IM* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        casadi::IM ret = casadi::IM::scalar_matrix(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set"
// cWrapperName: "casadi__IM__set__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi__IM__set__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set"
// cWrapperName: "casadi__IM__set__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
void
    casadi__IM__set__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set"
// cWrapperName: "casadi__IM__set__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
void
    casadi__IM__set__2(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set"
// cWrapperName: "casadi__IM__set__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__IM__set__3(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set"
// cWrapperName: "casadi__IM__set__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2);
void
    casadi__IM__set__4(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set"
// cWrapperName: "casadi__IM__set__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2);
void
    casadi__IM__set__5(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set"
// cWrapperName: "casadi__IM__set__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2);
void
    casadi__IM__set__6(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_max_depth" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set_max_depth"
// cWrapperName: "casadi__IM__set_max_depth__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set_max_depth__0(std::string ** err_msg)"
// call: "        casadi::IM::set_max_depth();"
// params: []
extern "C"
void
    casadi__IM__set_max_depth__0(std::string ** err_msg);
void
    casadi__IM__set_max_depth__0(std::string ** err_msg){
    try {

        casadi::IM::set_max_depth();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_max_depth" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set_max_depth"
// cWrapperName: "casadi__IM__set_max_depth__1"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set_max_depth__1(std::string ** err_msg, long long x0)"
// call: "        casadi::IM::set_max_depth(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__IM__set_max_depth__1(std::string ** err_msg, long long x0);
void
    casadi__IM__set_max_depth__1(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM::set_max_depth(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nz" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set_nz"
// cWrapperName: "casadi__IM__set_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2)"
// call: "        obj->set_nz(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2);
void
    casadi__IM__set_nz__0(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->set_nz(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nz" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set_nz"
// cWrapperName: "casadi__IM__set_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2)"
// call: "        obj->set_nz(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2);
void
    casadi__IM__set_nz__1(std::string ** err_msg, casadi::IM* obj, casadi::IM* x0, int x1, casadi::Slice* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set_nz(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_precision" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set_precision"
// cWrapperName: "casadi__IM__set_precision"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set_precision(std::string ** err_msg, long long x0)"
// call: "        casadi::IM::set_precision(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__IM__set_precision(std::string ** err_msg, long long x0);
void
    casadi__IM__set_precision(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM::set_precision(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_scientific" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set_scientific"
// cWrapperName: "casadi__IM__set_scientific"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set_scientific(std::string ** err_msg, int x0)"
// call: "        casadi::IM::set_scientific(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
void
    casadi__IM__set_scientific(std::string ** err_msg, int x0);
void
    casadi__IM__set_scientific(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::IM::set_scientific(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_width" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::set_width"
// cWrapperName: "casadi__IM__set_width"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__set_width(std::string ** err_msg, long long x0)"
// call: "        casadi::IM::set_width(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__IM__set_width(std::string ** err_msg, long long x0);
void
    casadi__IM__set_width(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM::set_width(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::size"
// cWrapperName: "casadi__IM__size__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, long long x0)"
// call: "        long long ret = obj->size(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, long long x0);
long long
    casadi__IM__size__0(std::string ** err_msg, casadi::IM* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::size"
// cWrapperName: "casadi__IM__size__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj)"
// call: "        std::pair< long long, long long > ret = obj->size();"
// params: []
extern "C"
std::pair< long long, long long >*
    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj);
std::pair< long long, long long >*
    casadi__IM__size__1(std::string ** err_msg, casadi::IM* obj){
    try {

        std::pair< long long, long long > ret = obj->size();

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::size1"
// cWrapperName: "casadi__IM__size1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->size1();"
// params: []
extern "C"
long long
    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__size1(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->size1();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::size2"
// cWrapperName: "casadi__IM__size2"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj)"
// call: "        long long ret = obj->size2();"
// params: []
extern "C"
long long
    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj);
long long
    casadi__IM__size2(std::string ** err_msg, casadi::IM* obj){
    try {

        long long ret = obj->size2();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sparsity"
// cWrapperName: "casadi__IM__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj)"
// call: "        casadi::Sparsity ret = obj->sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj);
casadi::Sparsity*
    casadi__IM__sparsity(std::string ** err_msg, casadi::IM* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
// call: "        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4);
std::vector< std::vector< casadi::IM* >* >*
    casadi__IM__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
// call: "        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3);
std::vector< std::vector< casadi::IM* >* >*
    casadi__IM__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        std::vector< std::vector< casadi::IM > > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< std::vector< std::vector< casadi::IM* >* >*, std::vector< std::vector< casadi::IM > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
// call: "        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< casadi::IM* >*
    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3);
std::vector< casadi::IM* >*
    casadi__IM__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
// call: "        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< casadi::IM* >*
    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2);
std::vector< casadi::IM* >*
    casadi__IM__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::IM > ret = casadi::IM::sym(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< std::vector< casadi::IM* >*, std::vector< casadi::IM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::IM*
    casadi__IM__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::IM ret = casadi::IM::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1);
casadi::IM*
    casadi__IM__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);

        casadi::IM ret = casadi::IM::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__6"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__sym__6(std::string ** err_msg, std::string* x0)"
// call: "        casadi::IM ret = casadi::IM::sym(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__sym__6(std::string ** err_msg, std::string* x0);
casadi::IM*
    casadi__IM__sym__6(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::IM ret = casadi::IM::sym(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, long long x1)"
// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, long long x1);
casadi::IM*
    casadi__IM__sym__7(std::string ** err_msg, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = casadi::IM::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::sym"
// cWrapperName: "casadi__IM__sym__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
// call: "        casadi::IM ret = casadi::IM::sym(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2);
casadi::IM*
    casadi__IM__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::IM ret = casadi::IM::sym(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_file" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::to_file"
// cWrapperName: "casadi__IM__to_file__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__to_file__0(std::string ** err_msg, casadi::IM* obj, std::string* x0)"
// call: "        obj->to_file(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__IM__to_file__0(std::string ** err_msg, casadi::IM* obj, std::string* x0);
void
    casadi__IM__to_file__0(std::string ** err_msg, casadi::IM* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->to_file(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "to_file" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::to_file"
// cWrapperName: "casadi__IM__to_file__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__IM__to_file__1(std::string ** err_msg, casadi::IM* obj, std::string* x0, std::string* x1)"
// call: "        obj->to_file(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__IM__to_file__1(std::string ** err_msg, casadi::IM* obj, std::string* x0, std::string* x1);
void
    casadi__IM__to_file__1(std::string ** err_msg, casadi::IM* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->to_file(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::triplet"
// cWrapperName: "casadi__IM__triplet__0"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, std::pair< long long, long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, std::pair< long long, long long >* x3)"
// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, std::pair< long long, long long >* x3);
casadi::IM*
    casadi__IM__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, std::pair< long long, long long >* x3){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        std::pair< long long, long long > x3_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x3);

        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::triplet"
// cWrapperName: "casadi__IM__triplet__1"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, long long x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, long long x3, long long x4)"
// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, long long x3, long long x4);
casadi::IM*
    casadi__IM__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2, long long x3, long long x4){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::triplet"
// cWrapperName: "casadi__IM__triplet__2"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2)"
// call: "        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2);
casadi::IM*
    casadi__IM__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::IM* x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        casadi::IM ret = casadi::IM::triplet(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::type_name"
// cWrapperName: "casadi__IM__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__IM__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::IM::type_name();"
// params: []
extern "C"
std::string*
    casadi__IM__type_name(std::string ** err_msg);
std::string*
    casadi__IM__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::IM::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unary" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::unary"
// cWrapperName: "casadi__IM__unary"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::IM* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__unary(std::string ** err_msg, long long x0, casadi::IM* x1)"
// call: "        casadi::IM ret = casadi::IM::unary(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__unary(std::string ** err_msg, long long x0, casadi::IM* x1);
casadi::IM*
    casadi__IM__unary(std::string ** err_msg, long long x0, casadi::IM* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = casadi::IM::unary(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::zeros"
// cWrapperName: "casadi__IM__zeros__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::IM*
    casadi__IM__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::IM ret = casadi::IM::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::zeros"
// cWrapperName: "casadi__IM__zeros__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::IM*
    casadi__IM__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::IM ret = casadi::IM::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::zeros"
// cWrapperName: "casadi__IM__zeros__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__zeros__2(std::string ** err_msg)"
// call: "        casadi::IM ret = casadi::IM::zeros();"
// params: []
extern "C"
casadi::IM*
    casadi__IM__zeros__2(std::string ** err_msg);
casadi::IM*
    casadi__IM__zeros__2(std::string ** err_msg){
    try {

        casadi::IM ret = casadi::IM::zeros();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::zeros"
// cWrapperName: "casadi__IM__zeros__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__zeros__3(std::string ** err_msg, long long x0)"
// call: "        casadi::IM ret = casadi::IM::zeros(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__zeros__3(std::string ** err_msg, long long x0);
casadi::IM*
    casadi__IM__zeros__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::IM ret = casadi::IM::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::IM"
// cppName: "casadi::IM::zeros"
// cWrapperName: "casadi__IM__zeros__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__IM__zeros__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::IM ret = casadi::IM::zeros(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::IM*
    casadi__IM__zeros__4(std::string ** err_msg, long long x0, long long x1);
casadi::IM*
    casadi__IM__zeros__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = casadi::IM::zeros(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Importer")===============
// classType: UserType (Namespace ["casadi"]) (Name "Importer")
extern "C"
void delete_casadi__Importer(casadi::Importer* obj);
void delete_casadi__Importer(casadi::Importer* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer"
// cWrapperName: "casadi__Importer__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
// cWrapperRetType: "casadi::Importer*"
// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1)"
// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Importer*
    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1);
casadi::Importer*
    casadi__Importer__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer"
// cWrapperName: "casadi__Importer__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
// cWrapperRetType: "casadi::Importer*"
// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Importer*
    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Importer*
    casadi__Importer__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer"
// cWrapperName: "casadi__Importer__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Importer")
// cWrapperRetType: "casadi::Importer*"
// proto: "casadi::Importer*\n    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer();"
// params: []
extern "C"
casadi::Importer*
    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg);
casadi::Importer*
    casadi__Importer__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        casadi::Importer* ret = (casadi::Importer*)new casadi::Importer();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "body" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::body"
// cWrapperName: "casadi__Importer__body"
// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// call: "        std::string ret = obj->body(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
std::string*
    casadi__Importer__body(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->body(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::doc"
// cWrapperName: "casadi__Importer__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Importer__doc(std::string ** err_msg, std::string* x0)"
// call: "        std::string ret = casadi::Importer::doc(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__Importer__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__Importer__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::Importer::doc(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_meta" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::get_meta"
// cWrapperName: "casadi__Importer__get_meta__0"
// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// call: "        std::string ret = obj->get_meta(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
std::string*
    casadi__Importer__get_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = obj->get_meta(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_meta" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::get_meta"
// cWrapperName: "casadi__Importer__get_meta__1"
// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1)"
// call: "        std::string ret = obj->get_meta(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1);
std::string*
    casadi__Importer__get_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::string ret = obj->get_meta(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_function" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::has_function"
// cWrapperName: "casadi__Importer__has_function"
// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// call: "        bool ret = obj->has_function(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
int
    casadi__Importer__has_function(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = obj->has_function(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_meta" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::has_meta"
// cWrapperName: "casadi__Importer__has_meta__0"
// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// call: "        bool ret = obj->has_meta(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
int
    casadi__Importer__has_meta__0(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = obj->has_meta(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_meta" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::has_meta"
// cWrapperName: "casadi__Importer__has_meta__1"
// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1)"
// call: "        bool ret = obj->has_meta(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1);
int
    casadi__Importer__has_meta__1(std::string ** err_msg, casadi::Importer* obj, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        bool ret = obj->has_meta(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "has_plugin" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::has_plugin"
// cWrapperName: "casadi__Importer__has_plugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0)"
// call: "        bool ret = casadi::Importer::has_plugin(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0);
int
    casadi__Importer__has_plugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::Importer::has_plugin(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "inlined" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::inlined"
// cWrapperName: "casadi__Importer__inlined"
// protoArgs: "(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0)"
// call: "        bool ret = obj->inlined(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0);
int
    casadi__Importer__inlined(std::string ** err_msg, casadi::Importer* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = obj->inlined(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "load_plugin" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::load_plugin"
// cWrapperName: "casadi__Importer__load_plugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0)"
// call: "        casadi::Importer::load_plugin(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0);
void
    casadi__Importer__load_plugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Importer::load_plugin(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "plugin_name" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::plugin_name"
// cWrapperName: "casadi__Importer__plugin_name"
// protoArgs: "(std::string ** err_msg, casadi::Importer* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj)"
// call: "        std::string ret = obj->plugin_name();"
// params: []
extern "C"
std::string*
    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj);
std::string*
    casadi__Importer__plugin_name(std::string ** err_msg, casadi::Importer* obj){
    try {

        std::string ret = obj->plugin_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::Importer"
// cppName: "casadi::Importer::type_name"
// cWrapperName: "casadi__Importer__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Importer__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::Importer::type_name();"
// params: []
extern "C"
std::string*
    casadi__Importer__type_name(std::string ** err_msg);
std::string*
    casadi__Importer__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::Importer::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "IndexAbstraction")===============
// classType: UserType (Namespace ["casadi"]) (Name "IndexAbstraction")
extern "C"
void delete_casadi__IndexAbstraction(casadi::IndexAbstraction* obj);
void delete_casadi__IndexAbstraction(casadi::IndexAbstraction* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::IndexAbstraction"
// cppName: "casadi::IndexAbstraction"
// cWrapperName: "casadi__IndexAbstraction__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IndexAbstraction")
// cWrapperRetType: "casadi::IndexAbstraction*"
// proto: "casadi::IndexAbstraction*\n    casadi__IndexAbstraction__CONSTRUCTOR(std::string ** err_msg)"
// call: "        casadi::IndexAbstraction* ret = (casadi::IndexAbstraction*)new casadi::IndexAbstraction();"
// params: []
extern "C"
casadi::IndexAbstraction*
    casadi__IndexAbstraction__CONSTRUCTOR(std::string ** err_msg);
casadi::IndexAbstraction*
    casadi__IndexAbstraction__CONSTRUCTOR(std::string ** err_msg){
    try {

        casadi::IndexAbstraction* ret = (casadi::IndexAbstraction*)new casadi::IndexAbstraction();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Linsol")===============
// classType: UserType (Namespace ["casadi"]) (Name "Linsol")
extern "C"
void delete_casadi__Linsol(casadi::Linsol* obj);
void delete_casadi__Linsol(casadi::Linsol* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol"
// cWrapperName: "casadi__Linsol__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
// cWrapperRetType: "casadi::Linsol*"
// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::Linsol*
    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2);
casadi::Linsol*
    casadi__Linsol__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol"
// cWrapperName: "casadi__Linsol__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
// cWrapperRetType: "casadi::Linsol*"
// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Linsol*
    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Linsol*
    casadi__Linsol__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol"
// cWrapperName: "casadi__Linsol__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Linsol")
// cWrapperRetType: "casadi::Linsol*"
// proto: "casadi::Linsol*\n    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol();"
// params: []
extern "C"
casadi::Linsol*
    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg);
casadi::Linsol*
    casadi__Linsol__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        casadi::Linsol* ret = (casadi::Linsol*)new casadi::Linsol();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::doc"
// cWrapperName: "casadi__Linsol__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Linsol__doc(std::string ** err_msg, std::string* x0)"
// call: "        std::string ret = casadi::Linsol::doc(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__Linsol__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__Linsol__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::Linsol::doc(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "has_plugin" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::has_plugin"
// cWrapperName: "casadi__Linsol__has_plugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0)"
// call: "        bool ret = casadi::Linsol::has_plugin(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
int
    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0);
int
    casadi__Linsol__has_plugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::Linsol::has_plugin(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "load_plugin" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::load_plugin"
// cWrapperName: "casadi__Linsol__load_plugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0)"
// call: "        casadi::Linsol::load_plugin(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0);
void
    casadi__Linsol__load_plugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Linsol::load_plugin(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "neig" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::neig"
// cWrapperName: "casadi__Linsol__neig"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
// call: "        long long ret = obj->neig(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
long long
    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0);
long long
    casadi__Linsol__neig(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        long long ret = obj->neig(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nfact" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::nfact"
// cWrapperName: "casadi__Linsol__nfact"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Linsol__nfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
// call: "        obj->nfact(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
void
    casadi__Linsol__nfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0);
void
    casadi__Linsol__nfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        obj->nfact(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "plugin_name" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::plugin_name"
// cWrapperName: "casadi__Linsol__plugin_name"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj)"
// call: "        std::string ret = obj->plugin_name();"
// params: []
extern "C"
std::string*
    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj);
std::string*
    casadi__Linsol__plugin_name(std::string ** err_msg, casadi::Linsol* obj){
    try {

        std::string ret = obj->plugin_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rank" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::rank"
// cWrapperName: "casadi__Linsol__rank"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
// call: "        long long ret = obj->rank(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
long long
    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0);
long long
    casadi__Linsol__rank(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        long long ret = obj->rank(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sfact" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::sfact"
// cWrapperName: "casadi__Linsol__sfact"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Linsol__sfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0)"
// call: "        obj->sfact(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
void
    casadi__Linsol__sfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0);
void
    casadi__Linsol__sfact(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        obj->sfact(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::solve"
// cWrapperName: "casadi__Linsol__solve__0"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1)"
// call: "        casadi::MX ret = obj->solve(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi__Linsol__solve__0(std::string ** err_msg, casadi::Linsol* obj, 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 = obj->solve(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::solve"
// cWrapperName: "casadi__Linsol__solve__1"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
// call: "        casadi::MX ret = obj->solve(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2);
casadi::MX*
    casadi__Linsol__solve__1(std::string ** err_msg, casadi::Linsol* obj, casadi::MX* x0, casadi::MX* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::MX ret = obj->solve(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::solve"
// cWrapperName: "casadi__Linsol__solve__2"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1)"
// call: "        casadi::DM ret = obj->solve(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi__Linsol__solve__2(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);

        casadi::DM ret = obj->solve(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::solve"
// cWrapperName: "casadi__Linsol__solve__3"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2)"
// call: "        casadi::DM ret = obj->solve(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::DM*
    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2);
casadi::DM*
    casadi__Linsol__solve__3(std::string ** err_msg, casadi::Linsol* obj, casadi::DM* x0, casadi::DM* x1, int x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::DM ret = obj->solve(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::sparsity"
// cWrapperName: "casadi__Linsol__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::Linsol* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Linsol__sparsity(std::string ** err_msg, casadi::Linsol* obj)"
// call: "        casadi::Sparsity ret = obj->sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Linsol__sparsity(std::string ** err_msg, casadi::Linsol* obj);
casadi::Sparsity*
    casadi__Linsol__sparsity(std::string ** err_msg, casadi::Linsol* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::Linsol"
// cppName: "casadi::Linsol::type_name"
// cWrapperName: "casadi__Linsol__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Linsol__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::Linsol::type_name();"
// params: []
extern "C"
std::string*
    casadi__Linsol__type_name(std::string ** err_msg);
std::string*
    casadi__Linsol__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::Linsol::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "MX")===============
// classType: UserType (Namespace ["casadi"]) (Name "MX")
extern "C"
void delete_casadi__MX(casadi::MX* obj);
void delete_casadi__MX(casadi::MX* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0)"
// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0)"
// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0)"
// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__2(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0)"
// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
// params: [(CDouble,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__3(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1)"
// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1);
casadi::MX*
    casadi__MX__CONSTRUCTOR__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::MX* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__CONSTRUCTOR__5(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1);
casadi::MX*
    casadi__MX__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX* ret = (casadi::MX*)new casadi::MX(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MX"
// cppName: "casadi::MX"
// cWrapperName: "casadi__MX__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg)"
// call: "        casadi::MX* ret = (casadi::MX*)new casadi::MX();"
// params: []
extern "C"
casadi::MX*
    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg);
casadi::MX*
    casadi__MX__CONSTRUCTOR__7(std::string ** err_msg){
    try {

        casadi::MX* ret = (casadi::MX*)new casadi::MX();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::T"
// cWrapperName: "casadi__MX__T"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__T(std::string ** err_msg, casadi::MX* obj)"
// call: "        casadi::MX ret = obj->T();"
// params: []
extern "C"
casadi::MX*
    casadi__MX__T(std::string ** err_msg, casadi::MX* obj);
casadi::MX*
    casadi__MX__T(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::MX ret = obj->T();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "__nonzero__" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::__nonzero__"
// cWrapperName: "casadi__MX____nonzero__"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->__nonzero__();"
// params: []
extern "C"
int
    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX____nonzero__(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->__nonzero__();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "attachAssert" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::attachAssert"
// cWrapperName: "casadi__MX__attachAssert__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "        casadi::MX ret = obj->attachAssert(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
casadi::MX*
    casadi__MX__attachAssert__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->attachAssert(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "attachAssert" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::attachAssert"
// cWrapperName: "casadi__MX__attachAssert__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1)"
// call: "        casadi::MX ret = obj->attachAssert(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, std::string* x1);
casadi::MX*
    casadi__MX__attachAssert__1(std::string ** err_msg, casadi::MX* obj, 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 = obj->attachAssert(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "binary" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::binary"
// cWrapperName: "casadi__MX__binary"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::MX* x1, casadi::MX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__binary(std::string ** err_msg, long long x0, casadi::MX* x1, casadi::MX* x2)"
// call: "        casadi::MX ret = casadi::MX::binary(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__binary(std::string ** err_msg, long long x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi__MX__binary(std::string ** err_msg, long long x0, casadi::MX* x1, casadi::MX* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::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::MX::binary(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::colind"
// cWrapperName: "casadi__MX__colind"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, long long x0)"
// call: "        long long ret = obj->colind(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, long long x0);
long long
    casadi__MX__colind(std::string ** err_msg, casadi::MX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->colind(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "columns" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::columns"
// cWrapperName: "casadi__MX__columns"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__columns(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->columns();"
// params: []
extern "C"
long long
    casadi__MX__columns(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__columns(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->columns();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dep" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::dep"
// cWrapperName: "casadi__MX__dep__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj)"
// call: "        casadi::MX ret = obj->dep();"
// params: []
extern "C"
casadi::MX*
    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj);
casadi::MX*
    casadi__MX__dep__0(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::MX ret = obj->dep();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dep" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::dep"
// cWrapperName: "casadi__MX__dep__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, long long x0)"
// call: "        casadi::MX ret = obj->dep(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, long long x0);
casadi::MX*
    casadi__MX__dep__1(std::string ** err_msg, casadi::MX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->dep(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::dim"
// cWrapperName: "casadi__MX__dim__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__MX__dim__0(std::string ** err_msg, casadi::MX* obj)"
// call: "        std::string ret = obj->dim();"
// params: []
extern "C"
std::string*
    casadi__MX__dim__0(std::string ** err_msg, casadi::MX* obj);
std::string*
    casadi__MX__dim__0(std::string ** err_msg, casadi::MX* obj){
    try {

        std::string ret = obj->dim();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::dim"
// cWrapperName: "casadi__MX__dim__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__MX__dim__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "        std::string ret = obj->dim(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__MX__dim__1(std::string ** err_msg, casadi::MX* obj, int x0);
std::string*
    casadi__MX__dim__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->dim(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "einstein" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::einstein"
// cWrapperName: "casadi__MX__einstein__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__einstein__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7)"
// call: "        casadi::MX ret = casadi::MX::einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__einstein__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7);
casadi::MX*
    casadi__MX__einstein__0(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);

        casadi::MX ret = casadi::MX::einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output
        // x6 is not a swig output
        // x7 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "einstein" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::einstein"
// cWrapperName: "casadi__MX__einstein__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__einstein__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8)"
// call: "        casadi::MX ret = casadi::MX::einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__einstein__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8);
casadi::MX*
    casadi__MX__einstein__1(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< long long >* x5, std::vector< long long >* x6, std::vector< long long >* x7, std::vector< long long >* x8){
    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);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
        std::vector< long long > x5_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x5);
        std::vector< long long > x6_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x6);
        std::vector< long long > x7_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x7);
        std::vector< long long > x8_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x8);

        casadi::MX ret = casadi::MX::einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output
        // x6 is not a swig output
        // x7 is not a swig output
        // x8 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::enlarge"
// cWrapperName: "casadi__MX__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
void
    casadi__MX__enlarge__0(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::enlarge"
// cWrapperName: "casadi__MX__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
void
    casadi__MX__enlarge__1(std::string ** err_msg, casadi::MX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::erase"
// cWrapperName: "casadi__MX__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0)"
// call: "        obj->erase(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0);
void
    casadi__MX__erase__0(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        obj->erase(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::erase"
// cWrapperName: "casadi__MX__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, int x1)"
// call: "        obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, int x1);
void
    casadi__MX__erase__1(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, int x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::erase"
// cWrapperName: "casadi__MX__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1);
void
    casadi__MX__erase__2(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::erase"
// cWrapperName: "casadi__MX__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// call: "        obj->erase(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
void
    casadi__MX__erase__3(std::string ** err_msg, casadi::MX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->erase(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "eye" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::eye"
// cWrapperName: "casadi__MX__eye"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__eye(std::string ** err_msg, long long x0)"
// call: "        casadi::MX ret = casadi::MX::eye(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__eye(std::string ** err_msg, long long x0);
casadi::MX*
    casadi__MX__eye(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = casadi::MX::eye(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi__MX__get__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
void
    casadi__MX__get__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
void
    casadi__MX__get__2(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__MX__get__3(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2);
void
    casadi__MX__get__4(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__5"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2);
void
    casadi__MX__get__5(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get"
// cWrapperName: "casadi__MX__get__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2);
void
    casadi__MX__get__6(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_colind" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_colind"
// cWrapperName: "casadi__MX__get_colind"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj)"
// call: "        std::vector< long long > ret = obj->get_colind();"
// params: []
extern "C"
std::vector< long long >*
    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj);
std::vector< long long >*
    casadi__MX__get_colind(std::string ** err_msg, casadi::MX* obj){
    try {

        std::vector< long long > ret = obj->get_colind();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_free" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_free"
// cWrapperName: "casadi__MX__get_free"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0)"
// call: "        std::vector< casadi::MX > ret = casadi::MX::get_free(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0);
std::vector< casadi::MX* >*
    casadi__MX__get_free(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        std::vector< casadi::MX > ret = casadi::MX::get_free(x0_);
        // x0 is not a swig output

        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;
    }
}


// ================== Static method: "get_input" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_input"
// cWrapperName: "casadi__MX__get_input"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0)"
// call: "        std::vector< casadi::MX > ret = casadi::MX::get_input(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0);
std::vector< casadi::MX* >*
    casadi__MX__get_input(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        std::vector< casadi::MX > ret = casadi::MX::get_input(x0_);
        // x0 is not a swig output

        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;
    }
}


// ================== Static method: "get_max_depth" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_max_depth"
// cWrapperName: "casadi__MX__get_max_depth"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__get_max_depth(std::string ** err_msg)"
// call: "        long long ret = casadi::MX::get_max_depth();"
// params: []
extern "C"
long long
    casadi__MX__get_max_depth(std::string ** err_msg);
long long
    casadi__MX__get_max_depth(std::string ** err_msg){
    try {

        long long ret = casadi::MX::get_max_depth();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_nz"
// cWrapperName: "casadi__MX__get_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2)"
// call: "        obj->get_nz(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2);
void
    casadi__MX__get_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::IM* x2){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->get_nz(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_nz"
// cWrapperName: "casadi__MX__get_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2)"
// call: "        obj->get_nz(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2);
void
    casadi__MX__get_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX** x0, int x1, casadi::Slice* x2){
    try {
        casadi::MX x0_ = casadi::MX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get_nz(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_output" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_output"
// cWrapperName: "casadi__MX__get_output"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj, long long x0)"
// call: "        casadi::MX ret = obj->get_output(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj, long long x0);
casadi::MX*
    casadi__MX__get_output(std::string ** err_msg, casadi::MX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->get_output(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_row" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_row"
// cWrapperName: "casadi__MX__get_row"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj)"
// call: "        std::vector< long long > ret = obj->get_row();"
// params: []
extern "C"
std::vector< long long >*
    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj);
std::vector< long long >*
    casadi__MX__get_row(std::string ** err_msg, casadi::MX* obj){
    try {

        std::vector< long long > ret = obj->get_row();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_sparsity" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_sparsity"
// cWrapperName: "casadi__MX__get_sparsity"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj)"
// call: "        casadi::Sparsity ret = obj->get_sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj);
casadi::Sparsity*
    casadi__MX__get_sparsity(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::Sparsity ret = obj->get_sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_temp" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::get_temp"
// cWrapperName: "casadi__MX__get_temp"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__get_temp(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->get_temp();"
// params: []
extern "C"
long long
    casadi__MX__get_temp(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__get_temp(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->get_temp();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_duplicates" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::has_duplicates"
// cWrapperName: "casadi__MX__has_duplicates"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->has_duplicates();"
// params: []
extern "C"
int
    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__has_duplicates(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->has_duplicates();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::MX*
    casadi__MX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::MX ret = casadi::MX::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__1(std::string ** err_msg)"
// call: "        casadi::MX ret = casadi::MX::inf();"
// params: []
extern "C"
casadi::MX*
    casadi__MX__inf__1(std::string ** err_msg);
casadi::MX*
    casadi__MX__inf__1(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::inf();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__2(std::string ** err_msg, long long x0)"
// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__inf__2(std::string ** err_msg, long long x0);
casadi::MX*
    casadi__MX__inf__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = casadi::MX::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::MX ret = casadi::MX::inf(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__inf__3(std::string ** err_msg, long long x0, long long x1);
casadi::MX*
    casadi__MX__inf__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = casadi::MX::inf(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::inf"
// cWrapperName: "casadi__MX__inf__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::MX ret = casadi::MX::inf(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = casadi::MX::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "info" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::info"
// cWrapperName: "casadi__MX__info"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__MX__info(std::string ** err_msg, casadi::MX* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__MX__info(std::string ** err_msg, casadi::MX* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__MX__info(std::string ** err_msg, casadi::MX* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->info();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_binary" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_binary"
// cWrapperName: "casadi__MX__is_binary"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_binary();"
// params: []
extern "C"
int
    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_binary(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_binary();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_call" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_call"
// cWrapperName: "casadi__MX__is_call"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_call();"
// params: []
extern "C"
int
    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_call(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_call();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_column" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_column"
// cWrapperName: "casadi__MX__is_column"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_column();"
// params: []
extern "C"
int
    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_column(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_column();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_commutative" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_commutative"
// cWrapperName: "casadi__MX__is_commutative"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_commutative();"
// params: []
extern "C"
int
    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_commutative(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_commutative();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_constant" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_constant"
// cWrapperName: "casadi__MX__is_constant"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_constant();"
// params: []
extern "C"
int
    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_constant(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_constant();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_dense" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_dense"
// cWrapperName: "casadi__MX__is_dense"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_dense();"
// params: []
extern "C"
int
    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_dense(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_dense();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_empty"
// cWrapperName: "casadi__MX__is_empty__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_empty();"
// params: []
extern "C"
int
    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_empty__0(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_empty();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_empty"
// cWrapperName: "casadi__MX__is_empty__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "        bool ret = obj->is_empty(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__is_empty__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_empty(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_eye" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_eye"
// cWrapperName: "casadi__MX__is_eye"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_eye(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_eye();"
// params: []
extern "C"
int
    casadi__MX__is_eye(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_eye(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_eye();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_minus_one" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_minus_one"
// cWrapperName: "casadi__MX__is_minus_one"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_minus_one();"
// params: []
extern "C"
int
    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_minus_one(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_minus_one();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_multiplication" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_multiplication"
// cWrapperName: "casadi__MX__is_multiplication"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_multiplication();"
// params: []
extern "C"
int
    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_multiplication(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_multiplication();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_norm" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_norm"
// cWrapperName: "casadi__MX__is_norm"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_norm();"
// params: []
extern "C"
int
    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_norm(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_norm();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_one" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_one"
// cWrapperName: "casadi__MX__is_one"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_one();"
// params: []
extern "C"
int
    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_one(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_one();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_op" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_op"
// cWrapperName: "casadi__MX__is_op"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, long long x0)"
// call: "        bool ret = obj->is_op(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, long long x0);
int
    casadi__MX__is_op(std::string ** err_msg, casadi::MX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        bool ret = obj->is_op(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_output" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_output"
// cWrapperName: "casadi__MX__is_output"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_output();"
// params: []
extern "C"
int
    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_output(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_output();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_regular" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_regular"
// cWrapperName: "casadi__MX__is_regular"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_regular();"
// params: []
extern "C"
int
    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_regular(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_regular();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_row" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_row"
// cWrapperName: "casadi__MX__is_row"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_row();"
// params: []
extern "C"
int
    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_row(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_row();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_scalar"
// cWrapperName: "casadi__MX__is_scalar__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_scalar();"
// params: []
extern "C"
int
    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_scalar__0(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_scalar();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_scalar"
// cWrapperName: "casadi__MX__is_scalar__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0)"
// call: "        bool ret = obj->is_scalar(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0);
int
    casadi__MX__is_scalar__1(std::string ** err_msg, casadi::MX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_scalar(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_square" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_square"
// cWrapperName: "casadi__MX__is_square"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_square();"
// params: []
extern "C"
int
    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_square(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_square();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_symbolic" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_symbolic"
// cWrapperName: "casadi__MX__is_symbolic"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_symbolic();"
// params: []
extern "C"
int
    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_symbolic(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_symbolic();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_transpose" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_transpose"
// cWrapperName: "casadi__MX__is_transpose"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_transpose();"
// params: []
extern "C"
int
    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_transpose(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_transpose();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_tril" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_tril"
// cWrapperName: "casadi__MX__is_tril"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_tril();"
// params: []
extern "C"
int
    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_tril(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_tril();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_triu" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_triu"
// cWrapperName: "casadi__MX__is_triu"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_triu();"
// params: []
extern "C"
int
    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_triu(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_triu();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_unary" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_unary"
// cWrapperName: "casadi__MX__is_unary"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_unary();"
// params: []
extern "C"
int
    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_unary(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_unary();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_valid_input" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_valid_input"
// cWrapperName: "casadi__MX__is_valid_input"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_valid_input();"
// params: []
extern "C"
int
    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_valid_input(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_valid_input();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_vector" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_vector"
// cWrapperName: "casadi__MX__is_vector"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_vector();"
// params: []
extern "C"
int
    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_vector(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_zero" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::is_zero"
// cWrapperName: "casadi__MX__is_zero"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj)"
// call: "        bool ret = obj->is_zero();"
// params: []
extern "C"
int
    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj);
int
    casadi__MX__is_zero(std::string ** err_msg, casadi::MX* obj){
    try {

        bool ret = obj->is_zero();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "join_primitives" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::join_primitives"
// cWrapperName: "casadi__MX__join_primitives"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0)"
// call: "        casadi::MX ret = obj->join_primitives(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, std::vector< casadi::MX* >* x0);
casadi::MX*
    casadi__MX__join_primitives(std::string ** err_msg, casadi::MX* obj, 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 = obj->join_primitives(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mapping" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::mapping"
// cWrapperName: "casadi__MX__mapping"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "IM")
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj)"
// call: "        casadi::IM ret = obj->mapping();"
// params: []
extern "C"
casadi::IM*
    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj);
casadi::IM*
    casadi__MX__mapping(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::IM ret = obj->mapping();

        return WrapReturn< casadi::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "monitor" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::monitor"
// cWrapperName: "casadi__MX__monitor"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0)"
// call: "        casadi::MX ret = obj->monitor(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0);
casadi::MX*
    casadi__MX__monitor(std::string ** err_msg, casadi::MX* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = obj->monitor(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_dep" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::n_dep"
// cWrapperName: "casadi__MX__n_dep"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->n_dep();"
// params: []
extern "C"
long long
    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__n_dep(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->n_dep();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_out" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::n_out"
// cWrapperName: "casadi__MX__n_out"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->n_out();"
// params: []
extern "C"
long long
    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__n_out(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->n_out();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_primitives" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::n_primitives"
// cWrapperName: "casadi__MX__n_primitives"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->n_primitives();"
// params: []
extern "C"
long long
    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__n_primitives(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->n_primitives();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::name"
// cWrapperName: "casadi__MX__name"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__MX__name(std::string ** err_msg, casadi::MX* obj)"
// call: "        std::string ret = obj->name();"
// params: []
extern "C"
std::string*
    casadi__MX__name(std::string ** err_msg, casadi::MX* obj);
std::string*
    casadi__MX__name(std::string ** err_msg, casadi::MX* obj){
    try {

        std::string ret = obj->name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::MX*
    casadi__MX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::MX ret = casadi::MX::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__1(std::string ** err_msg)"
// call: "        casadi::MX ret = casadi::MX::nan();"
// params: []
extern "C"
casadi::MX*
    casadi__MX__nan__1(std::string ** err_msg);
casadi::MX*
    casadi__MX__nan__1(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::nan();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__2(std::string ** err_msg, long long x0)"
// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__nan__2(std::string ** err_msg, long long x0);
casadi::MX*
    casadi__MX__nan__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = casadi::MX::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::MX ret = casadi::MX::nan(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__nan__3(std::string ** err_msg, long long x0, long long x1);
casadi::MX*
    casadi__MX__nan__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = casadi::MX::nan(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nan"
// cWrapperName: "casadi__MX__nan__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::MX ret = casadi::MX::nan(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = casadi::MX::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nnz"
// cWrapperName: "casadi__MX__nnz"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->nnz();"
// params: []
extern "C"
long long
    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__nnz(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->nnz();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_diag" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nnz_diag"
// cWrapperName: "casadi__MX__nnz_diag"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->nnz_diag();"
// params: []
extern "C"
long long
    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__nnz_diag(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->nnz_diag();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_lower" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nnz_lower"
// cWrapperName: "casadi__MX__nnz_lower"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->nnz_lower();"
// params: []
extern "C"
long long
    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__nnz_lower(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->nnz_lower();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_upper" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::nnz_upper"
// cWrapperName: "casadi__MX__nnz_upper"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->nnz_upper();"
// params: []
extern "C"
long long
    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__nnz_upper(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->nnz_upper();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::numel"
// cWrapperName: "casadi__MX__numel"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__numel(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->numel();"
// params: []
extern "C"
long long
    casadi__MX__numel(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__numel(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->numel();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::MX*
    casadi__MX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::MX ret = casadi::MX::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = casadi::MX::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__2(std::string ** err_msg)"
// call: "        casadi::MX ret = casadi::MX::ones();"
// params: []
extern "C"
casadi::MX*
    casadi__MX__ones__2(std::string ** err_msg);
casadi::MX*
    casadi__MX__ones__2(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::ones();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__3(std::string ** err_msg, long long x0)"
// call: "        casadi::MX ret = casadi::MX::ones(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__ones__3(std::string ** err_msg, long long x0);
casadi::MX*
    casadi__MX__ones__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = casadi::MX::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::ones"
// cWrapperName: "casadi__MX__ones__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__ones__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::MX ret = casadi::MX::ones(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__ones__4(std::string ** err_msg, long long x0, long long x1);
casadi::MX*
    casadi__MX__ones__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = casadi::MX::ones(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "op" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::op"
// cWrapperName: "casadi__MX__op"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__op(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->op();"
// params: []
extern "C"
long long
    casadi__MX__op(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__op(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->op();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator -" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::operator -"
// cWrapperName: "casadi__MX__operator__minus"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj)"
// call: "        casadi::MX ret = obj->operator -();"
// params: []
extern "C"
casadi::MX*
    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj);
casadi::MX*
    casadi__MX__operator__minus(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::MX ret = obj->operator -();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator casadi::Matrix<double>" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::operator casadi::Matrix<double>"
// cWrapperName: "casadi__MX__operator_casadi__Matrix_double_"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj)"
// call: "        casadi::DM ret = obj->operator casadi::Matrix<double>();"
// params: []
extern "C"
casadi::DM*
    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj);
casadi::DM*
    casadi__MX__operator_casadi__Matrix_double_(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::DM ret = obj->operator casadi::Matrix<double>();

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator double" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::operator double"
// cWrapperName: "casadi__MX__operator_double"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj)"
// call: "        double ret = obj->operator double();"
// params: []
extern "C"
double
    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj);
double
    casadi__MX__operator_double(std::string ** err_msg, casadi::MX* obj){
    try {

        double ret = obj->operator double();

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "primitives" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::primitives"
// cWrapperName: "casadi__MX__primitives"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj)"
// call: "        std::vector< casadi::MX > ret = obj->primitives();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj);
std::vector< casadi::MX* >*
    casadi__MX__primitives(std::string ** err_msg, casadi::MX* obj){
    try {

        std::vector< casadi::MX > ret = obj->primitives();

        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;
    }
}


// ================== Normal method: "printme" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::printme"
// cWrapperName: "casadi__MX__printme"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "        casadi::MX ret = obj->printme(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
casadi::MX*
    casadi__MX__printme(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->printme(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "reset_input" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::reset_input"
// cWrapperName: "casadi__MX__reset_input"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__reset_input(std::string ** err_msg, casadi::MX* obj)"
// call: "        obj->reset_input();"
// params: []
extern "C"
void
    casadi__MX__reset_input(std::string ** err_msg, casadi::MX* obj);
void
    casadi__MX__reset_input(std::string ** err_msg, casadi::MX* obj){
    try {

        obj->reset_input();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::row"
// cWrapperName: "casadi__MX__row"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, long long x0)"
// call: "        long long ret = obj->row(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, long long x0);
long long
    casadi__MX__row(std::string ** err_msg, casadi::MX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->row(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rows" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::rows"
// cWrapperName: "casadi__MX__rows"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__rows(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->rows();"
// params: []
extern "C"
long long
    casadi__MX__rows(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__rows(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->rows();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi__MX__set__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
void
    casadi__MX__set__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
void
    casadi__MX__set__2(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__MX__set__3(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2);
void
    casadi__MX__set__4(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__5"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2);
void
    casadi__MX__set__5(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set"
// cWrapperName: "casadi__MX__set__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
void
    casadi__MX__set__6(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_max_depth" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set_max_depth"
// cWrapperName: "casadi__MX__set_max_depth__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set_max_depth__0(std::string ** err_msg)"
// call: "        casadi::MX::set_max_depth();"
// params: []
extern "C"
void
    casadi__MX__set_max_depth__0(std::string ** err_msg);
void
    casadi__MX__set_max_depth__0(std::string ** err_msg){
    try {

        casadi::MX::set_max_depth();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_max_depth" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set_max_depth"
// cWrapperName: "casadi__MX__set_max_depth__1"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set_max_depth__1(std::string ** err_msg, long long x0)"
// call: "        casadi::MX::set_max_depth(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__MX__set_max_depth__1(std::string ** err_msg, long long x0);
void
    casadi__MX__set_max_depth__1(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX::set_max_depth(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nz" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set_nz"
// cWrapperName: "casadi__MX__set_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2)"
// call: "        obj->set_nz(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2);
void
    casadi__MX__set_nz__0(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::IM* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->set_nz(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nz" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set_nz"
// cWrapperName: "casadi__MX__set_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2)"
// call: "        obj->set_nz(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2);
void
    casadi__MX__set_nz__1(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set_nz(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_temp" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::set_temp"
// cWrapperName: "casadi__MX__set_temp"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__MX__set_temp(std::string ** err_msg, casadi::MX* obj, long long x0)"
// call: "        obj->set_temp(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__MX__set_temp(std::string ** err_msg, casadi::MX* obj, long long x0);
void
    casadi__MX__set_temp(std::string ** err_msg, casadi::MX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        obj->set_temp(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::size"
// cWrapperName: "casadi__MX__size__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, long long x0)"
// call: "        long long ret = obj->size(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, long long x0);
long long
    casadi__MX__size__0(std::string ** err_msg, casadi::MX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::size"
// cWrapperName: "casadi__MX__size__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj)"
// call: "        std::pair< long long, long long > ret = obj->size();"
// params: []
extern "C"
std::pair< long long, long long >*
    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj);
std::pair< long long, long long >*
    casadi__MX__size__1(std::string ** err_msg, casadi::MX* obj){
    try {

        std::pair< long long, long long > ret = obj->size();

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::size1"
// cWrapperName: "casadi__MX__size1"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->size1();"
// params: []
extern "C"
long long
    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__size1(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->size1();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::size2"
// cWrapperName: "casadi__MX__size2"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->size2();"
// params: []
extern "C"
long long
    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__size2(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->size2();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sparsity"
// cWrapperName: "casadi__MX__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj)"
// call: "        casadi::Sparsity ret = obj->sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj);
casadi::Sparsity*
    casadi__MX__sparsity(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "split_primitives" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::split_primitives"
// cWrapperName: "casadi__MX__split_primitives"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0)"
// call: "        std::vector< casadi::MX > ret = obj->split_primitives(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0);
std::vector< casadi::MX* >*
    casadi__MX__split_primitives(std::string ** err_msg, casadi::MX* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< casadi::MX > ret = obj->split_primitives(x0_);
        // x0 is not a swig output

        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;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
// call: "        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4);
std::vector< std::vector< casadi::MX* >* >*
    casadi__MX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
// call: "        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3);
std::vector< std::vector< casadi::MX* >* >*
    casadi__MX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        std::vector< std::vector< casadi::MX > > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
// call: "        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3);
std::vector< casadi::MX* >*
    casadi__MX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        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;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
// call: "        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2);
std::vector< casadi::MX* >*
    casadi__MX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::MX > ret = casadi::MX::sym(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        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;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::MX*
    casadi__MX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::MX ret = casadi::MX::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1);
casadi::MX*
    casadi__MX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);

        casadi::MX ret = casadi::MX::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__6"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__6(std::string ** err_msg, std::string* x0)"
// call: "        casadi::MX ret = casadi::MX::sym(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__sym__6(std::string ** err_msg, std::string* x0);
casadi::MX*
    casadi__MX__sym__6(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::MX ret = casadi::MX::sym(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, long long x1)"
// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, long long x1);
casadi::MX*
    casadi__MX__sym__7(std::string ** err_msg, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = casadi::MX::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::sym"
// cWrapperName: "casadi__MX__sym__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
// call: "        casadi::MX ret = casadi::MX::sym(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2);
casadi::MX*
    casadi__MX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::MX ret = casadi::MX::sym(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::type_name"
// cWrapperName: "casadi__MX__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__MX__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::MX::type_name();"
// params: []
extern "C"
std::string*
    casadi__MX__type_name(std::string ** err_msg);
std::string*
    casadi__MX__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::MX::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unary" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::unary"
// cWrapperName: "casadi__MX__unary"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::MX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__unary(std::string ** err_msg, long long x0, casadi::MX* x1)"
// call: "        casadi::MX ret = casadi::MX::unary(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__unary(std::string ** err_msg, long long x0, casadi::MX* x1);
casadi::MX*
    casadi__MX__unary(std::string ** err_msg, long long x0, casadi::MX* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = casadi::MX::unary(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "which_function" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::which_function"
// cWrapperName: "casadi__MX__which_function"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__MX__which_function(std::string ** err_msg, casadi::MX* obj)"
// call: "        casadi::Function ret = obj->which_function();"
// params: []
extern "C"
casadi::Function*
    casadi__MX__which_function(std::string ** err_msg, casadi::MX* obj);
casadi::Function*
    casadi__MX__which_function(std::string ** err_msg, casadi::MX* obj){
    try {

        casadi::Function ret = obj->which_function();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "which_output" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::which_output"
// cWrapperName: "casadi__MX__which_output"
// protoArgs: "(std::string ** err_msg, casadi::MX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__MX__which_output(std::string ** err_msg, casadi::MX* obj)"
// call: "        long long ret = obj->which_output();"
// params: []
extern "C"
long long
    casadi__MX__which_output(std::string ** err_msg, casadi::MX* obj);
long long
    casadi__MX__which_output(std::string ** err_msg, casadi::MX* obj){
    try {

        long long ret = obj->which_output();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::MX*
    casadi__MX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::MX ret = casadi::MX::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::MX*
    casadi__MX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::MX ret = casadi::MX::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__2(std::string ** err_msg)"
// call: "        casadi::MX ret = casadi::MX::zeros();"
// params: []
extern "C"
casadi::MX*
    casadi__MX__zeros__2(std::string ** err_msg);
casadi::MX*
    casadi__MX__zeros__2(std::string ** err_msg){
    try {

        casadi::MX ret = casadi::MX::zeros();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__3(std::string ** err_msg, long long x0)"
// call: "        casadi::MX ret = casadi::MX::zeros(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__zeros__3(std::string ** err_msg, long long x0);
casadi::MX*
    casadi__MX__zeros__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = casadi::MX::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::MX"
// cppName: "casadi::MX::zeros"
// cWrapperName: "casadi__MX__zeros__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__MX__zeros__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::MX ret = casadi::MX::zeros(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__MX__zeros__4(std::string ** err_msg, long long x0, long long x1);
casadi::MX*
    casadi__MX__zeros__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = casadi::MX::zeros(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "MatrixCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "MatrixCommon")
extern "C"
void delete_casadi__MatrixCommon(casadi::MatrixCommon* obj);
void delete_casadi__MatrixCommon(casadi::MatrixCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "MetaCon")===============
// classType: UserType (Namespace ["casadi"]) (Name "MetaCon")
extern "C"
void delete_casadi__MetaCon(casadi::MetaCon* obj);
void delete_casadi__MetaCon(casadi::MetaCon* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::MetaCon"
// cppName: "casadi::MetaCon"
// cWrapperName: "casadi__MetaCon__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MetaCon")
// cWrapperRetType: "casadi::MetaCon*"
// proto: "casadi::MetaCon*\n    casadi__MetaCon__CONSTRUCTOR(std::string ** err_msg)"
// call: "        casadi::MetaCon* ret = (casadi::MetaCon*)new casadi::MetaCon();"
// params: []
extern "C"
casadi::MetaCon*
    casadi__MetaCon__CONSTRUCTOR(std::string ** err_msg);
casadi::MetaCon*
    casadi__MetaCon__CONSTRUCTOR(std::string ** err_msg){
    try {

        casadi::MetaCon* ret = (casadi::MetaCon*)new casadi::MetaCon();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "MetaVar")===============
// classType: UserType (Namespace ["casadi"]) (Name "MetaVar")
extern "C"
void delete_casadi__MetaVar(casadi::MetaVar* obj);
void delete_casadi__MetaVar(casadi::MetaVar* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "NlpBuilder")===============
// classType: UserType (Namespace ["casadi"]) (Name "NlpBuilder")
extern "C"
void delete_casadi__NlpBuilder(casadi::NlpBuilder* obj);
void delete_casadi__NlpBuilder(casadi::NlpBuilder* obj){
    delete obj;
}

// ================== Normal method: "get_str" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::get_str"
// cWrapperName: "casadi__NlpBuilder__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__NlpBuilder__get_str__0(std::string ** err_msg, casadi::NlpBuilder* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__NlpBuilder__get_str__0(std::string ** err_msg, casadi::NlpBuilder* obj);
std::string*
    casadi__NlpBuilder__get_str__0(std::string ** err_msg, casadi::NlpBuilder* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::get_str"
// cWrapperName: "casadi__NlpBuilder__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__NlpBuilder__get_str__1(std::string ** err_msg, casadi::NlpBuilder* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__NlpBuilder__get_str__1(std::string ** err_msg, casadi::NlpBuilder* obj, int x0);
std::string*
    casadi__NlpBuilder__get_str__1(std::string ** err_msg, casadi::NlpBuilder* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "import_nl" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::import_nl"
// cWrapperName: "casadi__NlpBuilder__import_nl__0"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
// call: "        obj->import_nl(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0);
void
    casadi__NlpBuilder__import_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->import_nl(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "import_nl" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::import_nl"
// cWrapperName: "casadi__NlpBuilder__import_nl__1"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        obj->import_nl(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
void
    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
void
    casadi__NlpBuilder__import_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        obj->import_nl(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "type_name" ===============
// class: "casadi::NlpBuilder"
// cppName: "casadi::NlpBuilder::type_name"
// cWrapperName: "casadi__NlpBuilder__type_name"
// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__NlpBuilder__type_name(std::string ** err_msg, casadi::NlpBuilder* obj)"
// call: "        std::string ret = obj->type_name();"
// params: []
extern "C"
std::string*
    casadi__NlpBuilder__type_name(std::string ** err_msg, casadi::NlpBuilder* obj);
std::string*
    casadi__NlpBuilder__type_name(std::string ** err_msg, casadi::NlpBuilder* obj){
    try {

        std::string ret = obj->type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Opti")===============
// classType: UserType (Namespace ["casadi"]) (Name "Opti")
extern "C"
void delete_casadi__Opti(casadi::Opti* obj);
void delete_casadi__Opti(casadi::Opti* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti"
// cWrapperName: "casadi__Opti__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Opti")
// cWrapperRetType: "casadi::Opti*"
// proto: "casadi::Opti*\n    casadi__Opti__CONSTRUCTOR(std::string ** err_msg)"
// call: "        casadi::Opti* ret = (casadi::Opti*)new casadi::Opti();"
// params: []
extern "C"
casadi::Opti*
    casadi__Opti__CONSTRUCTOR(std::string ** err_msg);
casadi::Opti*
    casadi__Opti__CONSTRUCTOR(std::string ** err_msg){
    try {

        casadi::Opti* ret = (casadi::Opti*)new casadi::Opti();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "advanced" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::advanced"
// cWrapperName: "casadi__Opti__advanced"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
// cWrapperRetType: "casadi::OptiAdvanced*"
// proto: "casadi::OptiAdvanced*\n    casadi__Opti__advanced(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::OptiAdvanced ret = obj->advanced();"
// params: []
extern "C"
casadi::OptiAdvanced*
    casadi__Opti__advanced(std::string ** err_msg, casadi::Opti* obj);
casadi::OptiAdvanced*
    casadi__Opti__advanced(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::OptiAdvanced ret = obj->advanced();

        return WrapReturn< casadi::OptiAdvanced*, casadi::OptiAdvanced >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "bounded" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::bounded"
// cWrapperName: "casadi__Opti__bounded"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__bounded(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// call: "        casadi::MX ret = casadi::Opti::bounded(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Opti__bounded(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi__Opti__bounded(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::Opti::bounded(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "callback_class" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::callback_class"
// cWrapperName: "casadi__Opti__callback_class"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__callback_class(std::string ** err_msg, casadi::Opti* obj)"
// call: "        obj->callback_class();"
// params: []
extern "C"
void
    casadi__Opti__callback_class(std::string ** err_msg, casadi::Opti* obj);
void
    casadi__Opti__callback_class(std::string ** err_msg, casadi::Opti* obj){
    try {

        obj->callback_class();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "copy" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::copy"
// cWrapperName: "casadi__Opti__copy"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Opti")
// cWrapperRetType: "casadi::Opti*"
// proto: "casadi::Opti*\n    casadi__Opti__copy(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::Opti ret = obj->copy();"
// params: []
extern "C"
casadi::Opti*
    casadi__Opti__copy(std::string ** err_msg, casadi::Opti* obj);
casadi::Opti*
    casadi__Opti__copy(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::Opti ret = obj->copy();

        return WrapReturn< casadi::Opti*, casadi::Opti >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "debug" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::debug"
// cWrapperName: "casadi__Opti__debug"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
// cWrapperRetType: "casadi::OptiAdvanced*"
// proto: "casadi::OptiAdvanced*\n    casadi__Opti__debug(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::OptiAdvanced ret = obj->debug();"
// params: []
extern "C"
casadi::OptiAdvanced*
    casadi__Opti__debug(std::string ** err_msg, casadi::Opti* obj);
casadi::OptiAdvanced*
    casadi__Opti__debug(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::OptiAdvanced ret = obj->debug();

        return WrapReturn< casadi::OptiAdvanced*, casadi::OptiAdvanced >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dual" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::dual"
// cWrapperName: "casadi__Opti__dual"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__dual(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// call: "        casadi::MX ret = obj->dual(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Opti__dual(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
casadi::MX*
    casadi__Opti__dual(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = obj->dual(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "f" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::f"
// cWrapperName: "casadi__Opti__f"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__f(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->f();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__f(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__f(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->f();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "g" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::g"
// cWrapperName: "casadi__Opti__g"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__g(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->g();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__g(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__g(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->g();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::get_str"
// cWrapperName: "casadi__Opti__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Opti__get_str__0(std::string ** err_msg, casadi::Opti* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__Opti__get_str__0(std::string ** err_msg, casadi::Opti* obj);
std::string*
    casadi__Opti__get_str__0(std::string ** err_msg, casadi::Opti* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::get_str"
// cWrapperName: "casadi__Opti__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Opti__get_str__1(std::string ** err_msg, casadi::Opti* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__Opti__get_str__1(std::string ** err_msg, casadi::Opti* obj, int x0);
std::string*
    casadi__Opti__get_str__1(std::string ** err_msg, casadi::Opti* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "initial" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::initial"
// cWrapperName: "casadi__Opti__initial"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Opti__initial(std::string ** err_msg, casadi::Opti* obj)"
// call: "        std::vector< casadi::MX > ret = obj->initial();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__Opti__initial(std::string ** err_msg, casadi::Opti* obj);
std::vector< casadi::MX* >*
    casadi__Opti__initial(std::string ** err_msg, casadi::Opti* obj){
    try {

        std::vector< casadi::MX > ret = obj->initial();

        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;
    }
}


// ================== Normal method: "lam_g" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::lam_g"
// cWrapperName: "casadi__Opti__lam_g"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__lam_g(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->lam_g();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__lam_g(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__lam_g(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->lam_g();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "lbg" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::lbg"
// cWrapperName: "casadi__Opti__lbg"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__lbg(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->lbg();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__lbg(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__lbg(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->lbg();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "minimize" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::minimize"
// cWrapperName: "casadi__Opti__minimize"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__minimize(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// call: "        obj->minimize(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
void
    casadi__Opti__minimize(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
void
    casadi__Opti__minimize(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->minimize(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "ng" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::ng"
// cWrapperName: "casadi__Opti__ng"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Opti__ng(std::string ** err_msg, casadi::Opti* obj)"
// call: "        long long ret = obj->ng();"
// params: []
extern "C"
long long
    casadi__Opti__ng(std::string ** err_msg, casadi::Opti* obj);
long long
    casadi__Opti__ng(std::string ** err_msg, casadi::Opti* obj){
    try {

        long long ret = obj->ng();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "np" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::np"
// cWrapperName: "casadi__Opti__np"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Opti__np(std::string ** err_msg, casadi::Opti* obj)"
// call: "        long long ret = obj->np();"
// params: []
extern "C"
long long
    casadi__Opti__np(std::string ** err_msg, casadi::Opti* obj);
long long
    casadi__Opti__np(std::string ** err_msg, casadi::Opti* obj){
    try {

        long long ret = obj->np();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nx" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::nx"
// cWrapperName: "casadi__Opti__nx"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Opti__nx(std::string ** err_msg, casadi::Opti* obj)"
// call: "        long long ret = obj->nx();"
// params: []
extern "C"
long long
    casadi__Opti__nx(std::string ** err_msg, casadi::Opti* obj);
long long
    casadi__Opti__nx(std::string ** err_msg, casadi::Opti* obj){
    try {

        long long ret = obj->nx();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "p" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::p"
// cWrapperName: "casadi__Opti__p"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__p(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->p();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__p(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__p(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->p();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "parameter" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::parameter"
// cWrapperName: "casadi__Opti__parameter__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__parameter__0(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->parameter();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__parameter__0(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__parameter__0(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->parameter();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "parameter" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::parameter"
// cWrapperName: "casadi__Opti__parameter__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__parameter__1(std::string ** err_msg, casadi::Opti* obj, long long x0)"
// call: "        casadi::MX ret = obj->parameter(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Opti__parameter__1(std::string ** err_msg, casadi::Opti* obj, long long x0);
casadi::MX*
    casadi__Opti__parameter__1(std::string ** err_msg, casadi::Opti* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->parameter(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "parameter" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::parameter"
// cWrapperName: "casadi__Opti__parameter__2"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__parameter__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1)"
// call: "        casadi::MX ret = obj->parameter(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Opti__parameter__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1);
casadi::MX*
    casadi__Opti__parameter__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->parameter(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "parameter" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::parameter"
// cWrapperName: "casadi__Opti__parameter__3"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__parameter__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2)"
// call: "        casadi::MX ret = obj->parameter(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Opti__parameter__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2);
casadi::MX*
    casadi__Opti__parameter__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        casadi::MX ret = obj->parameter(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "return_status" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::return_status"
// cWrapperName: "casadi__Opti__return_status"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Opti__return_status(std::string ** err_msg, casadi::Opti* obj)"
// call: "        std::string ret = obj->return_status();"
// params: []
extern "C"
std::string*
    casadi__Opti__return_status(std::string ** err_msg, casadi::Opti* obj);
std::string*
    casadi__Opti__return_status(std::string ** err_msg, casadi::Opti* obj){
    try {

        std::string ret = obj->return_status();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set_initial" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::set_initial"
// cWrapperName: "casadi__Opti__set_initial__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__set_initial__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
// call: "        obj->set_initial(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
void
    casadi__Opti__set_initial__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0);
void
    casadi__Opti__set_initial__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        obj->set_initial(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_initial" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::set_initial"
// cWrapperName: "casadi__Opti__set_initial__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__set_initial__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1)"
// call: "        obj->set_initial(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
void
    casadi__Opti__set_initial__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1);
void
    casadi__Opti__set_initial__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);

        obj->set_initial(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_value" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::set_value"
// cWrapperName: "casadi__Opti__set_value__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__set_value__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
// call: "        obj->set_value(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
void
    casadi__Opti__set_value__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0);
void
    casadi__Opti__set_value__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        obj->set_value(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_value" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::set_value"
// cWrapperName: "casadi__Opti__set_value__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__set_value__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1)"
// call: "        obj->set_value(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
void
    casadi__Opti__set_value__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1);
void
    casadi__Opti__set_value__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, casadi::DM* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);

        obj->set_value(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "solve" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::solve"
// cWrapperName: "casadi__Opti__solve"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "OptiSol")
// cWrapperRetType: "casadi::OptiSol*"
// proto: "casadi::OptiSol*\n    casadi__Opti__solve(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::OptiSol ret = obj->solve();"
// params: []
extern "C"
casadi::OptiSol*
    casadi__Opti__solve(std::string ** err_msg, casadi::Opti* obj);
casadi::OptiSol*
    casadi__Opti__solve(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::OptiSol ret = obj->solve();

        return WrapReturn< casadi::OptiSol*, casadi::OptiSol >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solver" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::solver"
// cWrapperName: "casadi__Opti__solver__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__solver__0(std::string ** err_msg, casadi::Opti* obj, std::string* x0)"
// call: "        obj->solver(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Opti__solver__0(std::string ** err_msg, casadi::Opti* obj, std::string* x0);
void
    casadi__Opti__solver__0(std::string ** err_msg, casadi::Opti* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->solver(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "solver" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::solver"
// cWrapperName: "casadi__Opti__solver__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__solver__1(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        obj->solver(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
void
    casadi__Opti__solver__1(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
void
    casadi__Opti__solver__1(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        obj->solver(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "solver" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::solver"
// cWrapperName: "casadi__Opti__solver__2"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__solver__2(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
// call: "        obj->solver(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
void
    casadi__Opti__solver__2(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1, std::map< std::string, casadi::GenericType* >* x2);
void
    casadi__Opti__solver__2(std::string ** err_msg, casadi::Opti* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        obj->solver(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "stats" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::stats"
// cWrapperName: "casadi__Opti__stats"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Opti__stats(std::string ** err_msg, casadi::Opti* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Opti__stats(std::string ** err_msg, casadi::Opti* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__Opti__stats(std::string ** err_msg, casadi::Opti* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->stats();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "subject_to" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::subject_to"
// cWrapperName: "casadi__Opti__subject_to__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__subject_to__0(std::string ** err_msg, casadi::Opti* obj)"
// call: "        obj->subject_to();"
// params: []
extern "C"
void
    casadi__Opti__subject_to__0(std::string ** err_msg, casadi::Opti* obj);
void
    casadi__Opti__subject_to__0(std::string ** err_msg, casadi::Opti* obj){
    try {

        obj->subject_to();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "subject_to" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::subject_to"
// cWrapperName: "casadi__Opti__subject_to__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__subject_to__1(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0)"
// call: "        obj->subject_to(x0_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
void
    casadi__Opti__subject_to__1(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0);
void
    casadi__Opti__subject_to__1(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        obj->subject_to(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "subject_to" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::subject_to"
// cWrapperName: "casadi__Opti__subject_to__2"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__subject_to__2(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// call: "        obj->subject_to(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
void
    casadi__Opti__subject_to__2(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
void
    casadi__Opti__subject_to__2(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->subject_to(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "type_name" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::type_name"
// cWrapperName: "casadi__Opti__type_name"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Opti__type_name(std::string ** err_msg, casadi::Opti* obj)"
// call: "        std::string ret = obj->type_name();"
// params: []
extern "C"
std::string*
    casadi__Opti__type_name(std::string ** err_msg, casadi::Opti* obj);
std::string*
    casadi__Opti__type_name(std::string ** err_msg, casadi::Opti* obj){
    try {

        std::string ret = obj->type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "ubg" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::ubg"
// cWrapperName: "casadi__Opti__ubg"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__ubg(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->ubg();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__ubg(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__ubg(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->ubg();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "update_user_dict" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::update_user_dict"
// cWrapperName: "casadi__Opti__update_user_dict__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__update_user_dict__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        obj->update_user_dict(x0_, x1_);"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
void
    casadi__Opti__update_user_dict__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0, std::map< std::string, casadi::GenericType* >* x1);
void
    casadi__Opti__update_user_dict__0(std::string ** err_msg, casadi::Opti* obj, std::vector< casadi::MX* >* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        obj->update_user_dict(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "update_user_dict" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::update_user_dict"
// cWrapperName: "casadi__Opti__update_user_dict__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::map< std::string, casadi::GenericType* >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Opti__update_user_dict__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::map< std::string, casadi::GenericType* >* x1)"
// call: "        obj->update_user_dict(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
void
    casadi__Opti__update_user_dict__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::map< std::string, casadi::GenericType* >* x1);
void
    casadi__Opti__update_user_dict__1(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::map< std::string, casadi::GenericType* >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::map< std::string, casadi::GenericType > x1_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x1);

        obj->update_user_dict(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "user_dict" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::user_dict"
// cWrapperName: "casadi__Opti__user_dict"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Opti__user_dict(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->user_dict(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Opti__user_dict(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
std::map< std::string, casadi::GenericType* >*
    casadi__Opti__user_dict(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::map< std::string, casadi::GenericType > ret = obj->user_dict(x0_);
        // x0 is not a swig output

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::value"
// cWrapperName: "casadi__Opti__value__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__Opti__value__0(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0)"
// call: "        casadi::DM ret = obj->value(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__Opti__value__0(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0);
casadi::DM*
    casadi__Opti__value__0(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::DM ret = obj->value(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::value"
// cWrapperName: "casadi__Opti__value__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__Opti__value__1(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1)"
// call: "        casadi::DM ret = obj->value(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__Opti__value__1(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1);
casadi::DM*
    casadi__Opti__value__1(std::string ** err_msg, casadi::Opti* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);

        casadi::DM ret = obj->value(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::value"
// cWrapperName: "casadi__Opti__value__2"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__Opti__value__2(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0)"
// call: "        casadi::DM ret = obj->value(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__Opti__value__2(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0);
casadi::DM*
    casadi__Opti__value__2(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = obj->value(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::value"
// cWrapperName: "casadi__Opti__value__3"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__Opti__value__3(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1)"
// call: "        casadi::DM ret = obj->value(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__Opti__value__3(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1);
casadi::DM*
    casadi__Opti__value__3(std::string ** err_msg, casadi::Opti* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);

        casadi::DM ret = obj->value(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::value"
// cWrapperName: "casadi__Opti__value__4"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__Opti__value__4(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0)"
// call: "        casadi::DM ret = obj->value(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__Opti__value__4(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0);
casadi::DM*
    casadi__Opti__value__4(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::DM ret = obj->value(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::value"
// cWrapperName: "casadi__Opti__value__5"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__Opti__value__5(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
// call: "        casadi::DM ret = obj->value(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__Opti__value__5(std::string ** err_msg, casadi::Opti* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1);
casadi::DM*
    casadi__Opti__value__5(std::string ** err_msg, casadi::Opti* obj, 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::DM ret = obj->value(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value_parameters" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::value_parameters"
// cWrapperName: "casadi__Opti__value_parameters"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Opti__value_parameters(std::string ** err_msg, casadi::Opti* obj)"
// call: "        std::vector< casadi::MX > ret = obj->value_parameters();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__Opti__value_parameters(std::string ** err_msg, casadi::Opti* obj);
std::vector< casadi::MX* >*
    casadi__Opti__value_parameters(std::string ** err_msg, casadi::Opti* obj){
    try {

        std::vector< casadi::MX > ret = obj->value_parameters();

        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;
    }
}


// ================== Normal method: "value_variables" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::value_variables"
// cWrapperName: "casadi__Opti__value_variables"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__Opti__value_variables(std::string ** err_msg, casadi::Opti* obj)"
// call: "        std::vector< casadi::MX > ret = obj->value_variables();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__Opti__value_variables(std::string ** err_msg, casadi::Opti* obj);
std::vector< casadi::MX* >*
    casadi__Opti__value_variables(std::string ** err_msg, casadi::Opti* obj){
    try {

        std::vector< casadi::MX > ret = obj->value_variables();

        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;
    }
}


// ================== Normal method: "variable" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::variable"
// cWrapperName: "casadi__Opti__variable__0"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__variable__0(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->variable();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__variable__0(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__variable__0(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->variable();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "variable" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::variable"
// cWrapperName: "casadi__Opti__variable__1"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__variable__1(std::string ** err_msg, casadi::Opti* obj, long long x0)"
// call: "        casadi::MX ret = obj->variable(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Opti__variable__1(std::string ** err_msg, casadi::Opti* obj, long long x0);
casadi::MX*
    casadi__Opti__variable__1(std::string ** err_msg, casadi::Opti* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->variable(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "variable" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::variable"
// cWrapperName: "casadi__Opti__variable__2"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__variable__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1)"
// call: "        casadi::MX ret = obj->variable(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Opti__variable__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1);
casadi::MX*
    casadi__Opti__variable__2(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::MX ret = obj->variable(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "variable" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::variable"
// cWrapperName: "casadi__Opti__variable__3"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__variable__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2)"
// call: "        casadi::MX ret = obj->variable(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::MX*
    casadi__Opti__variable__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2);
casadi::MX*
    casadi__Opti__variable__3(std::string ** err_msg, casadi::Opti* obj, long long x0, long long x1, std::string* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        casadi::MX ret = obj->variable(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "x" ===============
// class: "casadi::Opti"
// cppName: "casadi::Opti::x"
// cWrapperName: "casadi__Opti__x"
// protoArgs: "(std::string ** err_msg, casadi::Opti* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__Opti__x(std::string ** err_msg, casadi::Opti* obj)"
// call: "        casadi::MX ret = obj->x();"
// params: []
extern "C"
casadi::MX*
    casadi__Opti__x(std::string ** err_msg, casadi::Opti* obj);
casadi::MX*
    casadi__Opti__x(std::string ** err_msg, casadi::Opti* obj){
    try {

        casadi::MX ret = obj->x();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "OptiAdvanced")===============
// classType: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
extern "C"
void delete_casadi__OptiAdvanced(casadi::OptiAdvanced* obj);
void delete_casadi__OptiAdvanced(casadi::OptiAdvanced* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced"
// cWrapperName: "casadi__OptiAdvanced__CONSTRUCTOR"
// protoArgs: "(std::string ** err_msg, casadi::Opti* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
// cWrapperRetType: "casadi::OptiAdvanced*"
// proto: "casadi::OptiAdvanced*\n    casadi__OptiAdvanced__CONSTRUCTOR(std::string ** err_msg, casadi::Opti* x0)"
// call: "        casadi::OptiAdvanced* ret = (casadi::OptiAdvanced*)new casadi::OptiAdvanced(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Opti"))),SwigOutput False)]
extern "C"
casadi::OptiAdvanced*
    casadi__OptiAdvanced__CONSTRUCTOR(std::string ** err_msg, casadi::Opti* x0);
casadi::OptiAdvanced*
    casadi__OptiAdvanced__CONSTRUCTOR(std::string ** err_msg, casadi::Opti* x0){
    try {
        casadi::Opti& x0_ = Marshaling<casadi::Opti&,casadi::Opti*>::marshal(x0);

        casadi::OptiAdvanced* ret = (casadi::OptiAdvanced*)new casadi::OptiAdvanced(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "active_symvar" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::active_symvar"
// cWrapperName: "casadi__OptiAdvanced__active_symvar"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__active_symvar(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// call: "        std::vector< casadi::MX > ret = obj->active_symvar(x0_);"
// params: [(CEnum (Namespace ["casadi"]) (Name "VariableType"),SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__active_symvar(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__active_symvar(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
    try {
        casadi::VariableType x0_ = Marshaling<casadi::VariableType,int>::marshal(x0);

        std::vector< casadi::MX > ret = obj->active_symvar(x0_);
        // x0 is not a swig output

        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;
    }
}


// ================== Normal method: "active_values" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::active_values"
// cWrapperName: "casadi__OptiAdvanced__active_values"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi__OptiAdvanced__active_values(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// call: "        std::vector< casadi::DM > ret = obj->active_values(x0_);"
// params: [(CEnum (Namespace ["casadi"]) (Name "VariableType"),SwigOutput False)]
extern "C"
std::vector< casadi::DM* >*
    casadi__OptiAdvanced__active_values(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
std::vector< casadi::DM* >*
    casadi__OptiAdvanced__active_values(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
    try {
        casadi::VariableType x0_ = Marshaling<casadi::VariableType,int>::marshal(x0);

        std::vector< casadi::DM > ret = obj->active_values(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< casadi::DM* >*, std::vector< casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "arg" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::arg"
// cWrapperName: "casadi__OptiAdvanced__arg"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::map< std::string, casadi::DM* >*"
// proto: "std::map< std::string, casadi::DM* >*\n    casadi__OptiAdvanced__arg(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        std::map< std::string, casadi::DM > ret = obj->arg();"
// params: []
extern "C"
std::map< std::string, casadi::DM* >*
    casadi__OptiAdvanced__arg(std::string ** err_msg, casadi::OptiAdvanced* obj);
std::map< std::string, casadi::DM* >*
    casadi__OptiAdvanced__arg(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        std::map< std::string, casadi::DM > ret = obj->arg();

        return WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "assert_active_symbol" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::assert_active_symbol"
// cWrapperName: "casadi__OptiAdvanced__assert_active_symbol"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__assert_active_symbol(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// call: "        obj->assert_active_symbol(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
void
    casadi__OptiAdvanced__assert_active_symbol(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
void
    casadi__OptiAdvanced__assert_active_symbol(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        obj->assert_active_symbol(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "assert_baked" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::assert_baked"
// cWrapperName: "casadi__OptiAdvanced__assert_baked"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__assert_baked(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->assert_baked();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__assert_baked(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__assert_baked(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->assert_baked();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "assert_empty" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::assert_empty"
// cWrapperName: "casadi__OptiAdvanced__assert_empty"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__assert_empty(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->assert_empty();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__assert_empty(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__assert_empty(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->assert_empty();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "assert_solved" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::assert_solved"
// cWrapperName: "casadi__OptiAdvanced__assert_solved"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__assert_solved(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->assert_solved();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__assert_solved(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__assert_solved(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->assert_solved();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "bake" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::bake"
// cWrapperName: "casadi__OptiAdvanced__bake"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__bake(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->bake();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__bake(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__bake(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->bake();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "baked_copy" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::baked_copy"
// cWrapperName: "casadi__OptiAdvanced__baked_copy"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "OptiAdvanced")
// cWrapperRetType: "casadi::OptiAdvanced*"
// proto: "casadi::OptiAdvanced*\n    casadi__OptiAdvanced__baked_copy(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        casadi::OptiAdvanced ret = obj->baked_copy();"
// params: []
extern "C"
casadi::OptiAdvanced*
    casadi__OptiAdvanced__baked_copy(std::string ** err_msg, casadi::OptiAdvanced* obj);
casadi::OptiAdvanced*
    casadi__OptiAdvanced__baked_copy(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        casadi::OptiAdvanced ret = obj->baked_copy();

        return WrapReturn< casadi::OptiAdvanced*, casadi::OptiAdvanced >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "canon_expr" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::canon_expr"
// cWrapperName: "casadi__OptiAdvanced__canon_expr"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MetaCon")
// cWrapperRetType: "casadi::MetaCon*"
// proto: "casadi::MetaCon*\n    casadi__OptiAdvanced__canon_expr(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// call: "        casadi::MetaCon ret = obj->canon_expr(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MetaCon*
    casadi__OptiAdvanced__canon_expr(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
casadi::MetaCon*
    casadi__OptiAdvanced__canon_expr(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MetaCon ret = obj->canon_expr(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MetaCon*, casadi::MetaCon >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "casadi_solver" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::casadi_solver"
// cWrapperName: "casadi__OptiAdvanced__casadi_solver"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Function")
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    casadi__OptiAdvanced__casadi_solver(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        casadi::Function ret = obj->casadi_solver();"
// params: []
extern "C"
casadi::Function*
    casadi__OptiAdvanced__casadi_solver(std::string ** err_msg, casadi::OptiAdvanced* obj);
casadi::Function*
    casadi__OptiAdvanced__casadi_solver(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        casadi::Function ret = obj->casadi_solver();

        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "constraints" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::constraints"
// cWrapperName: "casadi__OptiAdvanced__constraints"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__constraints(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        std::vector< casadi::MX > ret = obj->constraints();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__constraints(std::string ** err_msg, casadi::OptiAdvanced* obj);
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__constraints(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        std::vector< casadi::MX > ret = obj->constraints();

        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;
    }
}


// ================== Normal method: "describe" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::describe"
// cWrapperName: "casadi__OptiAdvanced__describe__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptiAdvanced__describe__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// call: "        std::string ret = obj->describe(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::string*
    casadi__OptiAdvanced__describe__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
std::string*
    casadi__OptiAdvanced__describe__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::string ret = obj->describe(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "describe" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::describe"
// cWrapperName: "casadi__OptiAdvanced__describe__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptiAdvanced__describe__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, long long x1)"
// call: "        std::string ret = obj->describe(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__OptiAdvanced__describe__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, long long x1);
std::string*
    casadi__OptiAdvanced__describe__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, long long x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::string ret = obj->describe(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "g_describe" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::g_describe"
// cWrapperName: "casadi__OptiAdvanced__g_describe"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptiAdvanced__g_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
// call: "        std::string ret = obj->g_describe(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__OptiAdvanced__g_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0);
std::string*
    casadi__OptiAdvanced__g_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = obj->g_describe(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "g_lookup" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::g_lookup"
// cWrapperName: "casadi__OptiAdvanced__g_lookup"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__OptiAdvanced__g_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
// call: "        casadi::MX ret = obj->g_lookup(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__OptiAdvanced__g_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0);
casadi::MX*
    casadi__OptiAdvanced__g_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->g_lookup(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_meta" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::get_meta"
// cWrapperName: "casadi__OptiAdvanced__get_meta"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MetaVar")
// cWrapperRetType: "casadi::MetaVar*"
// proto: "casadi::MetaVar*\n    casadi__OptiAdvanced__get_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// call: "        casadi::MetaVar ret = obj->get_meta(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MetaVar*
    casadi__OptiAdvanced__get_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
casadi::MetaVar*
    casadi__OptiAdvanced__get_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MetaVar ret = obj->get_meta(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MetaVar*, casadi::MetaVar >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_meta_con" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::get_meta_con"
// cWrapperName: "casadi__OptiAdvanced__get_meta_con"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MetaCon")
// cWrapperRetType: "casadi::MetaCon*"
// proto: "casadi::MetaCon*\n    casadi__OptiAdvanced__get_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// call: "        casadi::MetaCon ret = obj->get_meta_con(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::MetaCon*
    casadi__OptiAdvanced__get_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
casadi::MetaCon*
    casadi__OptiAdvanced__get_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MetaCon ret = obj->get_meta_con(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MetaCon*, casadi::MetaCon >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "instance_number" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::instance_number"
// cWrapperName: "casadi__OptiAdvanced__instance_number"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__OptiAdvanced__instance_number(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        long long ret = obj->instance_number();"
// params: []
extern "C"
long long
    casadi__OptiAdvanced__instance_number(std::string ** err_msg, casadi::OptiAdvanced* obj);
long long
    casadi__OptiAdvanced__instance_number(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        long long ret = obj->instance_number();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_parametric" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::is_parametric"
// cWrapperName: "casadi__OptiAdvanced__is_parametric"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptiAdvanced__is_parametric(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// call: "        bool ret = obj->is_parametric(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
int
    casadi__OptiAdvanced__is_parametric(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
int
    casadi__OptiAdvanced__is_parametric(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        bool ret = obj->is_parametric(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "mark_problem_dirty" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::mark_problem_dirty"
// cWrapperName: "casadi__OptiAdvanced__mark_problem_dirty__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__mark_problem_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->mark_problem_dirty();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__mark_problem_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__mark_problem_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->mark_problem_dirty();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "mark_problem_dirty" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::mark_problem_dirty"
// cWrapperName: "casadi__OptiAdvanced__mark_problem_dirty__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__mark_problem_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// call: "        obj->mark_problem_dirty(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
void
    casadi__OptiAdvanced__mark_problem_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
void
    casadi__OptiAdvanced__mark_problem_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->mark_problem_dirty(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "mark_solved" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::mark_solved"
// cWrapperName: "casadi__OptiAdvanced__mark_solved__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__mark_solved__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->mark_solved();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__mark_solved__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__mark_solved__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->mark_solved();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "mark_solved" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::mark_solved"
// cWrapperName: "casadi__OptiAdvanced__mark_solved__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__mark_solved__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// call: "        obj->mark_solved(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
void
    casadi__OptiAdvanced__mark_solved__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
void
    casadi__OptiAdvanced__mark_solved__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->mark_solved(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "mark_solver_dirty" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::mark_solver_dirty"
// cWrapperName: "casadi__OptiAdvanced__mark_solver_dirty__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__mark_solver_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->mark_solver_dirty();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__mark_solver_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__mark_solver_dirty__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->mark_solver_dirty();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "mark_solver_dirty" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::mark_solver_dirty"
// cWrapperName: "casadi__OptiAdvanced__mark_solver_dirty__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__mark_solver_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0)"
// call: "        obj->mark_solver_dirty(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
void
    casadi__OptiAdvanced__mark_solver_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0);
void
    casadi__OptiAdvanced__mark_solver_dirty__1(std::string ** err_msg, casadi::OptiAdvanced* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        obj->mark_solver_dirty(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "objective" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::objective"
// cWrapperName: "casadi__OptiAdvanced__objective"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__OptiAdvanced__objective(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        casadi::MX ret = obj->objective();"
// params: []
extern "C"
casadi::MX*
    casadi__OptiAdvanced__objective(std::string ** err_msg, casadi::OptiAdvanced* obj);
casadi::MX*
    casadi__OptiAdvanced__objective(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        casadi::MX ret = obj->objective();

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "problem_dirty" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::problem_dirty"
// cWrapperName: "casadi__OptiAdvanced__problem_dirty"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptiAdvanced__problem_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        bool ret = obj->problem_dirty();"
// params: []
extern "C"
int
    casadi__OptiAdvanced__problem_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj);
int
    casadi__OptiAdvanced__problem_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        bool ret = obj->problem_dirty();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "res" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::res"
// cWrapperName: "casadi__OptiAdvanced__res__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::map< std::string, casadi::DM* >*"
// proto: "std::map< std::string, casadi::DM* >*\n    casadi__OptiAdvanced__res__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        std::map< std::string, casadi::DM > ret = obj->res();"
// params: []
extern "C"
std::map< std::string, casadi::DM* >*
    casadi__OptiAdvanced__res__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
std::map< std::string, casadi::DM* >*
    casadi__OptiAdvanced__res__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        std::map< std::string, casadi::DM > ret = obj->res();

        return WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "res" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::res"
// cWrapperName: "casadi__OptiAdvanced__res__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__res__1(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0)"
// call: "        obj->res(x0_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
extern "C"
void
    casadi__OptiAdvanced__res__1(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0);
void
    casadi__OptiAdvanced__res__1(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0){
    try {
        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);

        obj->res(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_meta" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::set_meta"
// cWrapperName: "casadi__OptiAdvanced__set_meta"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaVar* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__set_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaVar* x1)"
// call: "        obj->set_meta(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MetaVar"))),SwigOutput False)]
extern "C"
void
    casadi__OptiAdvanced__set_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaVar* x1);
void
    casadi__OptiAdvanced__set_meta(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaVar* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MetaVar& x1_ = Marshaling<casadi::MetaVar&,casadi::MetaVar*>::marshal(x1);

        obj->set_meta(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_meta_con" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::set_meta_con"
// cWrapperName: "casadi__OptiAdvanced__set_meta_con"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaCon* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__set_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaCon* x1)"
// call: "        obj->set_meta_con(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MetaCon"))),SwigOutput False)]
extern "C"
void
    casadi__OptiAdvanced__set_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaCon* x1);
void
    casadi__OptiAdvanced__set_meta_con(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, casadi::MetaCon* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MetaCon& x1_ = Marshaling<casadi::MetaCon&,casadi::MetaCon*>::marshal(x1);

        obj->set_meta_con(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "show_infeasibilities" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::show_infeasibilities"
// cWrapperName: "casadi__OptiAdvanced__show_infeasibilities__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__show_infeasibilities__0(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->show_infeasibilities();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__show_infeasibilities__0(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__show_infeasibilities__0(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->show_infeasibilities();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "show_infeasibilities" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::show_infeasibilities"
// cWrapperName: "casadi__OptiAdvanced__show_infeasibilities__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, double x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__show_infeasibilities__1(std::string ** err_msg, casadi::OptiAdvanced* obj, double x0)"
// call: "        obj->show_infeasibilities(x0_);"
// params: [(CDouble,SwigOutput False)]
extern "C"
void
    casadi__OptiAdvanced__show_infeasibilities__1(std::string ** err_msg, casadi::OptiAdvanced* obj, double x0);
void
    casadi__OptiAdvanced__show_infeasibilities__1(std::string ** err_msg, casadi::OptiAdvanced* obj, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        obj->show_infeasibilities(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "solve_actual" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::solve_actual"
// cWrapperName: "casadi__OptiAdvanced__solve_actual"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0)"
// args: "(x0_)"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM"))
// cWrapperRetType: "std::map< std::string, casadi::DM* >*"
// proto: "std::map< std::string, casadi::DM* >*\n    casadi__OptiAdvanced__solve_actual(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0)"
// call: "        std::map< std::string, casadi::DM > ret = obj->solve_actual(x0_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
extern "C"
std::map< std::string, casadi::DM* >*
    casadi__OptiAdvanced__solve_actual(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0);
std::map< std::string, casadi::DM* >*
    casadi__OptiAdvanced__solve_actual(std::string ** err_msg, casadi::OptiAdvanced* obj, std::map< std::string, casadi::DM* >* x0){
    try {
        std::map< std::string, casadi::DM > x0_ = Marshaling<std::map< std::string, casadi::DM >,std::map< std::string, casadi::DM* >*>::marshal(x0);

        std::map< std::string, casadi::DM > ret = obj->solve_actual(x0_);
        // x0 is not a swig output

        return WrapReturn< std::map< std::string, casadi::DM* >*, std::map< std::string, casadi::DM > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solve_prepare" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::solve_prepare"
// cWrapperName: "casadi__OptiAdvanced__solve_prepare"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiAdvanced__solve_prepare(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        obj->solve_prepare();"
// params: []
extern "C"
void
    casadi__OptiAdvanced__solve_prepare(std::string ** err_msg, casadi::OptiAdvanced* obj);
void
    casadi__OptiAdvanced__solve_prepare(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        obj->solve_prepare();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "solved" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::solved"
// cWrapperName: "casadi__OptiAdvanced__solved"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptiAdvanced__solved(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        bool ret = obj->solved();"
// params: []
extern "C"
int
    casadi__OptiAdvanced__solved(std::string ** err_msg, casadi::OptiAdvanced* obj);
int
    casadi__OptiAdvanced__solved(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        bool ret = obj->solved();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "solver_dirty" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::solver_dirty"
// cWrapperName: "casadi__OptiAdvanced__solver_dirty"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__OptiAdvanced__solver_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        bool ret = obj->solver_dirty();"
// params: []
extern "C"
int
    casadi__OptiAdvanced__solver_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj);
int
    casadi__OptiAdvanced__solver_dirty(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        bool ret = obj->solver_dirty();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "symvar" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::symvar"
// cWrapperName: "casadi__OptiAdvanced__symvar__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__symvar__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, int x1)"
// call: "        std::vector< casadi::MX > ret = obj->symvar(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CEnum (Namespace ["casadi"]) (Name "VariableType"),SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__symvar__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, int x1);
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__symvar__0(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::VariableType x1_ = Marshaling<casadi::VariableType,int>::marshal(x1);

        std::vector< casadi::MX > ret = obj->symvar(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        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;
    }
}


// ================== Normal method: "symvar" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::symvar"
// cWrapperName: "casadi__OptiAdvanced__symvar__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__symvar__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0)"
// call: "        std::vector< casadi::MX > ret = obj->symvar(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__symvar__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0);
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__symvar__1(std::string ** err_msg, casadi::OptiAdvanced* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< casadi::MX > ret = obj->symvar(x0_);
        // x0 is not a swig output

        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;
    }
}


// ================== Normal method: "symvar" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::symvar"
// cWrapperName: "casadi__OptiAdvanced__symvar__2"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__OptiAdvanced__symvar__2(std::string ** err_msg, casadi::OptiAdvanced* obj)"
// call: "        std::vector< casadi::MX > ret = obj->symvar();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__symvar__2(std::string ** err_msg, casadi::OptiAdvanced* obj);
std::vector< casadi::MX* >*
    casadi__OptiAdvanced__symvar__2(std::string ** err_msg, casadi::OptiAdvanced* obj){
    try {

        std::vector< casadi::MX > ret = obj->symvar();

        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;
    }
}


// ================== Normal method: "x_describe" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::x_describe"
// cWrapperName: "casadi__OptiAdvanced__x_describe"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptiAdvanced__x_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
// call: "        std::string ret = obj->x_describe(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__OptiAdvanced__x_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0);
std::string*
    casadi__OptiAdvanced__x_describe(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = obj->x_describe(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "x_lookup" ===============
// class: "casadi::OptiAdvanced"
// cppName: "casadi::OptiAdvanced::x_lookup"
// cWrapperName: "casadi__OptiAdvanced__x_lookup"
// protoArgs: "(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "MX")
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi__OptiAdvanced__x_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0)"
// call: "        casadi::MX ret = obj->x_lookup(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::MX*
    casadi__OptiAdvanced__x_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0);
casadi::MX*
    casadi__OptiAdvanced__x_lookup(std::string ** err_msg, casadi::OptiAdvanced* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::MX ret = obj->x_lookup(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "OptiCallback")===============
// classType: UserType (Namespace ["casadi"]) (Name "OptiCallback")
extern "C"
void delete_casadi__OptiCallback(casadi::OptiCallback* obj);
void delete_casadi__OptiCallback(casadi::OptiCallback* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::OptiCallback"
// cppName: "casadi::OptiCallback"
// cWrapperName: "casadi__OptiCallback__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiCallback* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "OptiCallback")
// cWrapperRetType: "casadi::OptiCallback*"
// proto: "casadi::OptiCallback*\n    casadi__OptiCallback__CONSTRUCTOR__0(std::string ** err_msg, casadi::OptiCallback* x0)"
// call: "        casadi::OptiCallback* ret = (casadi::OptiCallback*)new casadi::OptiCallback(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "OptiCallback"))),SwigOutput False)]
extern "C"
casadi::OptiCallback*
    casadi__OptiCallback__CONSTRUCTOR__0(std::string ** err_msg, casadi::OptiCallback* x0);
casadi::OptiCallback*
    casadi__OptiCallback__CONSTRUCTOR__0(std::string ** err_msg, casadi::OptiCallback* x0){
    try {
        casadi::OptiCallback& x0_ = Marshaling<casadi::OptiCallback&,casadi::OptiCallback*>::marshal(x0);

        casadi::OptiCallback* ret = (casadi::OptiCallback*)new casadi::OptiCallback(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::OptiCallback"
// cppName: "casadi::OptiCallback"
// cWrapperName: "casadi__OptiCallback__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "OptiCallback")
// cWrapperRetType: "casadi::OptiCallback*"
// proto: "casadi::OptiCallback*\n    casadi__OptiCallback__CONSTRUCTOR__1(std::string ** err_msg)"
// call: "        casadi::OptiCallback* ret = (casadi::OptiCallback*)new casadi::OptiCallback();"
// params: []
extern "C"
casadi::OptiCallback*
    casadi__OptiCallback__CONSTRUCTOR__1(std::string ** err_msg);
casadi::OptiCallback*
    casadi__OptiCallback__CONSTRUCTOR__1(std::string ** err_msg){
    try {

        casadi::OptiCallback* ret = (casadi::OptiCallback*)new casadi::OptiCallback();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "call" ===============
// class: "casadi::OptiCallback"
// cppName: "casadi::OptiCallback::call"
// cWrapperName: "casadi__OptiCallback__call"
// protoArgs: "(std::string ** err_msg, casadi::OptiCallback* obj, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__OptiCallback__call(std::string ** err_msg, casadi::OptiCallback* obj, long long x0)"
// call: "        obj->call(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__OptiCallback__call(std::string ** err_msg, casadi::OptiCallback* obj, long long x0);
void
    casadi__OptiCallback__call(std::string ** err_msg, casadi::OptiCallback* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        obj->call(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "OptiSol")===============
// classType: UserType (Namespace ["casadi"]) (Name "OptiSol")
extern "C"
void delete_casadi__OptiSol(casadi::OptiSol* obj);
void delete_casadi__OptiSol(casadi::OptiSol* obj){
    delete obj;
}

// ================== Normal method: "get_str" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::get_str"
// cWrapperName: "casadi__OptiSol__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptiSol__get_str__0(std::string ** err_msg, casadi::OptiSol* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__OptiSol__get_str__0(std::string ** err_msg, casadi::OptiSol* obj);
std::string*
    casadi__OptiSol__get_str__0(std::string ** err_msg, casadi::OptiSol* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::get_str"
// cWrapperName: "casadi__OptiSol__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptiSol__get_str__1(std::string ** err_msg, casadi::OptiSol* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__OptiSol__get_str__1(std::string ** err_msg, casadi::OptiSol* obj, int x0);
std::string*
    casadi__OptiSol__get_str__1(std::string ** err_msg, casadi::OptiSol* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "opti" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::opti"
// cWrapperName: "casadi__OptiSol__opti"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Opti")
// cWrapperRetType: "casadi::Opti*"
// proto: "casadi::Opti*\n    casadi__OptiSol__opti(std::string ** err_msg, casadi::OptiSol* obj)"
// call: "        casadi::Opti ret = obj->opti();"
// params: []
extern "C"
casadi::Opti*
    casadi__OptiSol__opti(std::string ** err_msg, casadi::OptiSol* obj);
casadi::Opti*
    casadi__OptiSol__opti(std::string ** err_msg, casadi::OptiSol* obj){
    try {

        casadi::Opti ret = obj->opti();

        return WrapReturn< casadi::Opti*, casadi::Opti >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "stats" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::stats"
// cWrapperName: "casadi__OptiSol__stats"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__OptiSol__stats(std::string ** err_msg, casadi::OptiSol* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->stats();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__OptiSol__stats(std::string ** err_msg, casadi::OptiSol* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__OptiSol__stats(std::string ** err_msg, casadi::OptiSol* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->stats();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "type_name" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::type_name"
// cWrapperName: "casadi__OptiSol__type_name"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__OptiSol__type_name(std::string ** err_msg, casadi::OptiSol* obj)"
// call: "        std::string ret = obj->type_name();"
// params: []
extern "C"
std::string*
    casadi__OptiSol__type_name(std::string ** err_msg, casadi::OptiSol* obj);
std::string*
    casadi__OptiSol__type_name(std::string ** err_msg, casadi::OptiSol* obj){
    try {

        std::string ret = obj->type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::value"
// cWrapperName: "casadi__OptiSol__value__0"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__OptiSol__value__0(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0)"
// call: "        casadi::DM ret = obj->value(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__OptiSol__value__0(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0);
casadi::DM*
    casadi__OptiSol__value__0(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::DM ret = obj->value(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::value"
// cWrapperName: "casadi__OptiSol__value__1"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__OptiSol__value__1(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1)"
// call: "        casadi::DM ret = obj->value(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__OptiSol__value__1(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1);
casadi::DM*
    casadi__OptiSol__value__1(std::string ** err_msg, casadi::OptiSol* obj, casadi::SX* x0, std::vector< casadi::MX* >* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);

        casadi::DM ret = obj->value(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::value"
// cWrapperName: "casadi__OptiSol__value__2"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__OptiSol__value__2(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0)"
// call: "        casadi::DM ret = obj->value(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__OptiSol__value__2(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0);
casadi::DM*
    casadi__OptiSol__value__2(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = obj->value(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::value"
// cWrapperName: "casadi__OptiSol__value__3"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__OptiSol__value__3(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1)"
// call: "        casadi::DM ret = obj->value(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__OptiSol__value__3(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1);
casadi::DM*
    casadi__OptiSol__value__3(std::string ** err_msg, casadi::OptiSol* obj, casadi::DM* x0, std::vector< casadi::MX* >* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);

        casadi::DM ret = obj->value(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::value"
// cWrapperName: "casadi__OptiSol__value__4"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__OptiSol__value__4(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0)"
// call: "        casadi::DM ret = obj->value(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__OptiSol__value__4(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0);
casadi::DM*
    casadi__OptiSol__value__4(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::DM ret = obj->value(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::value"
// cWrapperName: "casadi__OptiSol__value__5"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "DM")
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi__OptiSol__value__5(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
// call: "        casadi::DM ret = obj->value(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
extern "C"
casadi::DM*
    casadi__OptiSol__value__5(std::string ** err_msg, casadi::OptiSol* obj, casadi::MX* x0, std::vector< casadi::MX* >* x1);
casadi::DM*
    casadi__OptiSol__value__5(std::string ** err_msg, casadi::OptiSol* obj, 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::DM ret = obj->value(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "value_parameters" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::value_parameters"
// cWrapperName: "casadi__OptiSol__value_parameters"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__OptiSol__value_parameters(std::string ** err_msg, casadi::OptiSol* obj)"
// call: "        std::vector< casadi::MX > ret = obj->value_parameters();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__OptiSol__value_parameters(std::string ** err_msg, casadi::OptiSol* obj);
std::vector< casadi::MX* >*
    casadi__OptiSol__value_parameters(std::string ** err_msg, casadi::OptiSol* obj){
    try {

        std::vector< casadi::MX > ret = obj->value_parameters();

        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;
    }
}


// ================== Normal method: "value_variables" ===============
// class: "casadi::OptiSol"
// cppName: "casadi::OptiSol::value_variables"
// cWrapperName: "casadi__OptiSol__value_variables"
// protoArgs: "(std::string ** err_msg, casadi::OptiSol* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi__OptiSol__value_variables(std::string ** err_msg, casadi::OptiSol* obj)"
// call: "        std::vector< casadi::MX > ret = obj->value_variables();"
// params: []
extern "C"
std::vector< casadi::MX* >*
    casadi__OptiSol__value_variables(std::string ** err_msg, casadi::OptiSol* obj);
std::vector< casadi::MX* >*
    casadi__OptiSol__value_variables(std::string ** err_msg, casadi::OptiSol* obj){
    try {

        std::vector< casadi::MX > ret = obj->value_variables();

        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;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "PrintableCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "PrintableCommon")
extern "C"
void delete_casadi__PrintableCommon(casadi::PrintableCommon* obj);
void delete_casadi__PrintableCommon(casadi::PrintableCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "SX")===============
// classType: UserType (Namespace ["casadi"]) (Name "SX")
extern "C"
void delete_casadi__SX(casadi::SX* obj);
void delete_casadi__SX(casadi::SX* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__0(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
// params: [(Ref (Const (StdVec CDouble)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__1(std::string ** err_msg, std::vector< double >* x0){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__3(std::string ** err_msg, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
// params: [(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__4(std::string ** err_msg, std::vector< std::vector< double >* >* x0){
    try {
        std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, double x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
// params: [(CDouble,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__5(std::string ** err_msg, double x0){
    try {
        double x0_ = Marshaling<double,double>::marshal(x0);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1);
casadi::SX*
    casadi__SX__CONSTRUCTOR__6(std::string ** err_msg, casadi::Sparsity* x0, casadi::SX* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__7(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1);
casadi::SX*
    casadi__SX__CONSTRUCTOR__8(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi__SX__CONSTRUCTOR__9(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX* ret = (casadi::SX*)new casadi::SX(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::SX"
// cppName: "casadi::SX"
// cWrapperName: "casadi__SX__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg)"
// call: "        casadi::SX* ret = (casadi::SX*)new casadi::SX();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg);
casadi::SX*
    casadi__SX__CONSTRUCTOR__10(std::string ** err_msg){
    try {

        casadi::SX* ret = (casadi::SX*)new casadi::SX();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::T"
// cWrapperName: "casadi__SX__T"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__T(std::string ** err_msg, casadi::SX* obj)"
// call: "        casadi::SX ret = obj->T();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__T(std::string ** err_msg, casadi::SX* obj);
casadi::SX*
    casadi__SX__T(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::SX ret = obj->T();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "__nonzero__" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::__nonzero__"
// cWrapperName: "casadi__SX____nonzero__"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->__nonzero__();"
// params: []
extern "C"
int
    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX____nonzero__(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->__nonzero__();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "binary" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::binary"
// cWrapperName: "casadi__SX__binary"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__binary(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
// call: "        casadi::SX ret = casadi::SX::binary(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__binary(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__binary(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::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::SX::binary(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "clear" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::clear"
// cWrapperName: "casadi__SX__clear"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj)"
// call: "        obj->clear();"
// params: []
extern "C"
void
    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__clear(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->clear();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::colind"
// cWrapperName: "casadi__SX__colind"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, long long x0)"
// call: "        long long ret = obj->colind(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, long long x0);
long long
    casadi__SX__colind(std::string ** err_msg, casadi::SX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->colind(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "columns" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::columns"
// cWrapperName: "casadi__SX__columns"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__columns(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->columns();"
// params: []
extern "C"
long long
    casadi__SX__columns(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__columns(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->columns();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dep" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::dep"
// cWrapperName: "casadi__SX__dep__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj)"
// call: "        casadi::SX ret = obj->dep();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj);
casadi::SX*
    casadi__SX__dep__0(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::SX ret = obj->dep();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dep" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::dep"
// cWrapperName: "casadi__SX__dep__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, long long x0)"
// call: "        casadi::SX ret = obj->dep(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, long long x0);
casadi::SX*
    casadi__SX__dep__1(std::string ** err_msg, casadi::SX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = obj->dep(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::dim"
// cWrapperName: "casadi__SX__dim__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__dim__0(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::string ret = obj->dim();"
// params: []
extern "C"
std::string*
    casadi__SX__dim__0(std::string ** err_msg, casadi::SX* obj);
std::string*
    casadi__SX__dim__0(std::string ** err_msg, casadi::SX* obj){
    try {

        std::string ret = obj->dim();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::dim"
// cWrapperName: "casadi__SX__dim__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__dim__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "        std::string ret = obj->dim(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__SX__dim__1(std::string ** err_msg, casadi::SX* obj, int x0);
std::string*
    casadi__SX__dim__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->dim(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "element_hash" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::element_hash"
// cWrapperName: "casadi__SX__element_hash"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->element_hash();"
// params: []
extern "C"
long long
    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__element_hash(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->element_hash();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::enlarge"
// cWrapperName: "casadi__SX__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
void
    casadi__SX__enlarge__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::enlarge"
// cWrapperName: "casadi__SX__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
void
    casadi__SX__enlarge__1(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::erase"
// cWrapperName: "casadi__SX__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0)"
// call: "        obj->erase(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0);
void
    casadi__SX__erase__0(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        obj->erase(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::erase"
// cWrapperName: "casadi__SX__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, int x1)"
// call: "        obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, int x1);
void
    casadi__SX__erase__1(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, int x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::erase"
// cWrapperName: "casadi__SX__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1);
void
    casadi__SX__erase__2(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::erase"
// cWrapperName: "casadi__SX__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// call: "        obj->erase(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
void
    casadi__SX__erase__3(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->erase(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "export_code" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::export_code"
// cWrapperName: "casadi__SX__export_code"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__export_code(std::string ** err_msg, casadi::SX* obj, std::string* x0)"
// call: "        obj->export_code(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__SX__export_code(std::string ** err_msg, casadi::SX* obj, std::string* x0);
void
    casadi__SX__export_code(std::string ** err_msg, casadi::SX* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->export_code(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "eye" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::eye"
// cWrapperName: "casadi__SX__eye"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__eye(std::string ** err_msg, long long x0)"
// call: "        casadi::SX ret = casadi::SX::eye(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__eye(std::string ** err_msg, long long x0);
casadi::SX*
    casadi__SX__eye(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = casadi::SX::eye(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "from_info" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::from_info"
// cWrapperName: "casadi__SX__from_info"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// call: "        casadi::SX ret = casadi::SX::from_info(x0_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
casadi::SX*
    casadi__SX__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        casadi::SX ret = casadi::SX::from_info(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi__SX__get__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3);
void
    casadi__SX__get__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2, casadi::Slice* x3){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3);
void
    casadi__SX__get__2(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::IM* x3){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "        obj->get(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__SX__get__3(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->get(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__4"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2);
void
    casadi__SX__get__4(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__5"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2);
void
    casadi__SX__get__5(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get"
// cWrapperName: "casadi__SX__get__6"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
// call: "        obj->get(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2);
void
    casadi__SX__get__6(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_colind" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_colind"
// cWrapperName: "casadi__SX__get_colind"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::vector< long long > ret = obj->get_colind();"
// params: []
extern "C"
std::vector< long long >*
    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj);
std::vector< long long >*
    casadi__SX__get_colind(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< long long > ret = obj->get_colind();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_elements" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_elements"
// cWrapperName: "casadi__SX__get_elements"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SXElem"))
// cWrapperRetType: "std::vector< casadi::SXElem* >*"
// proto: "std::vector< casadi::SXElem* >*\n    casadi__SX__get_elements(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::vector< casadi::SXElem > ret = obj->get_elements();"
// params: []
extern "C"
std::vector< casadi::SXElem* >*
    casadi__SX__get_elements(std::string ** err_msg, casadi::SX* obj);
std::vector< casadi::SXElem* >*
    casadi__SX__get_elements(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< casadi::SXElem > ret = obj->get_elements();

        return WrapReturn< std::vector< casadi::SXElem* >*, std::vector< casadi::SXElem > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "get_free" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_free"
// cWrapperName: "casadi__SX__get_free"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0)"
// call: "        std::vector< casadi::SX > ret = casadi::SX::get_free(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
std::vector< casadi::SX* >*
    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0);
std::vector< casadi::SX* >*
    casadi__SX__get_free(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        std::vector< casadi::SX > ret = casadi::SX::get_free(x0_);
        // x0 is not a swig output

        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;
    }
}


// ================== Static method: "get_input" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_input"
// cWrapperName: "casadi__SX__get_input"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// args: "(x0_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0)"
// call: "        std::vector< casadi::SX > ret = casadi::SX::get_input(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
extern "C"
std::vector< casadi::SX* >*
    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0);
std::vector< casadi::SX* >*
    casadi__SX__get_input(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);

        std::vector< casadi::SX > ret = casadi::SX::get_input(x0_);
        // x0 is not a swig output

        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;
    }
}


// ================== Static method: "get_max_depth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_max_depth"
// cWrapperName: "casadi__SX__get_max_depth"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__get_max_depth(std::string ** err_msg)"
// call: "        long long ret = casadi::SX::get_max_depth();"
// params: []
extern "C"
long long
    casadi__SX__get_max_depth(std::string ** err_msg);
long long
    casadi__SX__get_max_depth(std::string ** err_msg){
    try {

        long long ret = casadi::SX::get_max_depth();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nonzeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_nonzeros"
// cWrapperName: "casadi__SX__get_nonzeros"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SXElem"))
// cWrapperRetType: "std::vector< casadi::SXElem* >*"
// proto: "std::vector< casadi::SXElem* >*\n    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::vector< casadi::SXElem > ret = obj->get_nonzeros();"
// params: []
extern "C"
std::vector< casadi::SXElem* >*
    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj);
std::vector< casadi::SXElem* >*
    casadi__SX__get_nonzeros(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< casadi::SXElem > ret = obj->get_nonzeros();

        return WrapReturn< std::vector< casadi::SXElem* >*, std::vector< casadi::SXElem > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_nz"
// cWrapperName: "casadi__SX__get_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2)"
// call: "        obj->get_nz(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2);
void
    casadi__SX__get_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::IM* x2){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->get_nz(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_nz"
// cWrapperName: "casadi__SX__get_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2)"
// call: "        obj->get_nz(x0_, x1_, x2_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput True),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2);
void
    casadi__SX__get_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX** x0, int x1, casadi::Slice* x2){
    try {
        casadi::SX x0_ = casadi::SX();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->get_nz(x0_, x1_, x2_);
        *x0 = WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( x0_ );
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_row" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_row"
// cWrapperName: "casadi__SX__get_row"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::vector< long long > ret = obj->get_row();"
// params: []
extern "C"
std::vector< long long >*
    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj);
std::vector< long long >*
    casadi__SX__get_row(std::string ** err_msg, casadi::SX* obj){
    try {

        std::vector< long long > ret = obj->get_row();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_sparsity" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_sparsity"
// cWrapperName: "casadi__SX__get_sparsity"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj)"
// call: "        casadi::Sparsity ret = obj->get_sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj);
casadi::Sparsity*
    casadi__SX__get_sparsity(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::Sparsity ret = obj->get_sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_str"
// cWrapperName: "casadi__SX__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__get_str__0(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__SX__get_str__0(std::string ** err_msg, casadi::SX* obj);
std::string*
    casadi__SX__get_str__0(std::string ** err_msg, casadi::SX* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::get_str"
// cWrapperName: "casadi__SX__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__get_str__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__SX__get_str__1(std::string ** err_msg, casadi::SX* obj, int x0);
std::string*
    casadi__SX__get_str__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_duplicates" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::has_duplicates"
// cWrapperName: "casadi__SX__has_duplicates"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->has_duplicates();"
// params: []
extern "C"
int
    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__has_duplicates(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->has_duplicates();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_nz" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::has_nz"
// cWrapperName: "casadi__SX__has_nz"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
// call: "        bool ret = obj->has_nz(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1);
int
    casadi__SX__has_nz(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        bool ret = obj->has_nz(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::has_zeros"
// cWrapperName: "casadi__SX__has_zeros"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->has_zeros();"
// params: []
extern "C"
int
    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__has_zeros(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->has_zeros();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::SX*
    casadi__SX__inf__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::SX ret = casadi::SX::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__1(std::string ** err_msg)"
// call: "        casadi::SX ret = casadi::SX::inf();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__inf__1(std::string ** err_msg);
casadi::SX*
    casadi__SX__inf__1(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::inf();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__2(std::string ** err_msg, long long x0)"
// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__inf__2(std::string ** err_msg, long long x0);
casadi::SX*
    casadi__SX__inf__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = casadi::SX::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::SX ret = casadi::SX::inf(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__inf__3(std::string ** err_msg, long long x0, long long x1);
casadi::SX*
    casadi__SX__inf__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = casadi::SX::inf(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "inf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::inf"
// cWrapperName: "casadi__SX__inf__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::SX ret = casadi::SX::inf(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__inf__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::inf(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "info" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::info"
// cWrapperName: "casadi__SX__info"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__SX__info(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__SX__info(std::string ** err_msg, casadi::SX* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__SX__info(std::string ** err_msg, casadi::SX* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->info();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_column" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_column"
// cWrapperName: "casadi__SX__is_column"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_column();"
// params: []
extern "C"
int
    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_column(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_column();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_commutative" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_commutative"
// cWrapperName: "casadi__SX__is_commutative"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_commutative();"
// params: []
extern "C"
int
    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_commutative(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_commutative();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_constant" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_constant"
// cWrapperName: "casadi__SX__is_constant"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_constant();"
// params: []
extern "C"
int
    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_constant(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_constant();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_dense" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_dense"
// cWrapperName: "casadi__SX__is_dense"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_dense();"
// params: []
extern "C"
int
    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_dense(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_dense();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_empty"
// cWrapperName: "casadi__SX__is_empty__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_empty();"
// params: []
extern "C"
int
    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_empty__0(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_empty();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_empty"
// cWrapperName: "casadi__SX__is_empty__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "        bool ret = obj->is_empty(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__is_empty__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_empty(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_eye" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_eye"
// cWrapperName: "casadi__SX__is_eye"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_eye(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_eye();"
// params: []
extern "C"
int
    casadi__SX__is_eye(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_eye(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_eye();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_integer" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_integer"
// cWrapperName: "casadi__SX__is_integer"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_integer();"
// params: []
extern "C"
int
    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_integer(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_integer();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_leaf" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_leaf"
// cWrapperName: "casadi__SX__is_leaf"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_leaf();"
// params: []
extern "C"
int
    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_leaf(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_leaf();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_minus_one" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_minus_one"
// cWrapperName: "casadi__SX__is_minus_one"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_minus_one();"
// params: []
extern "C"
int
    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_minus_one(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_minus_one();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_one" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_one"
// cWrapperName: "casadi__SX__is_one"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_one();"
// params: []
extern "C"
int
    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_one(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_one();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_op" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_op"
// cWrapperName: "casadi__SX__is_op"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_op(std::string ** err_msg, casadi::SX* obj, long long x0)"
// call: "        bool ret = obj->is_op(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__SX__is_op(std::string ** err_msg, casadi::SX* obj, long long x0);
int
    casadi__SX__is_op(std::string ** err_msg, casadi::SX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        bool ret = obj->is_op(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_regular" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_regular"
// cWrapperName: "casadi__SX__is_regular"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_regular();"
// params: []
extern "C"
int
    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_regular(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_regular();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_row" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_row"
// cWrapperName: "casadi__SX__is_row"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_row();"
// params: []
extern "C"
int
    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_row(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_row();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_scalar"
// cWrapperName: "casadi__SX__is_scalar__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_scalar();"
// params: []
extern "C"
int
    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_scalar__0(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_scalar();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_scalar"
// cWrapperName: "casadi__SX__is_scalar__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0)"
// call: "        bool ret = obj->is_scalar(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0);
int
    casadi__SX__is_scalar__1(std::string ** err_msg, casadi::SX* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_scalar(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_smooth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_smooth"
// cWrapperName: "casadi__SX__is_smooth"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_smooth();"
// params: []
extern "C"
int
    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_smooth(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_smooth();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_square" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_square"
// cWrapperName: "casadi__SX__is_square"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_square();"
// params: []
extern "C"
int
    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_square(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_square();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_symbolic" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_symbolic"
// cWrapperName: "casadi__SX__is_symbolic"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_symbolic();"
// params: []
extern "C"
int
    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_symbolic(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_symbolic();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_tril" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_tril"
// cWrapperName: "casadi__SX__is_tril"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_tril();"
// params: []
extern "C"
int
    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_tril(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_tril();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_triu" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_triu"
// cWrapperName: "casadi__SX__is_triu"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_triu();"
// params: []
extern "C"
int
    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_triu(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_triu();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_valid_input" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_valid_input"
// cWrapperName: "casadi__SX__is_valid_input"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_valid_input();"
// params: []
extern "C"
int
    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_valid_input(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_valid_input();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_vector" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_vector"
// cWrapperName: "casadi__SX__is_vector"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_vector();"
// params: []
extern "C"
int
    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_vector(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_zero" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::is_zero"
// cWrapperName: "casadi__SX__is_zero"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj)"
// call: "        bool ret = obj->is_zero();"
// params: []
extern "C"
int
    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj);
int
    casadi__SX__is_zero(std::string ** err_msg, casadi::SX* obj){
    try {

        bool ret = obj->is_zero();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_matrix" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::matrix_matrix"
// cWrapperName: "casadi__SX__matrix_matrix"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__matrix_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
// call: "        casadi::SX ret = casadi::SX::matrix_matrix(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__matrix_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__matrix_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::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::SX::matrix_matrix(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "matrix_scalar" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::matrix_scalar"
// cWrapperName: "casadi__SX__matrix_scalar"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__matrix_scalar(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
// call: "        casadi::SX ret = casadi::SX::matrix_scalar(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__matrix_scalar(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__matrix_scalar(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::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::SX::matrix_scalar(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "n_dep" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::n_dep"
// cWrapperName: "casadi__SX__n_dep"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->n_dep();"
// params: []
extern "C"
long long
    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__n_dep(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->n_dep();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::name"
// cWrapperName: "casadi__SX__name"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__name(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::string ret = obj->name();"
// params: []
extern "C"
std::string*
    casadi__SX__name(std::string ** err_msg, casadi::SX* obj);
std::string*
    casadi__SX__name(std::string ** err_msg, casadi::SX* obj){
    try {

        std::string ret = obj->name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::SX*
    casadi__SX__nan__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::SX ret = casadi::SX::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__1(std::string ** err_msg)"
// call: "        casadi::SX ret = casadi::SX::nan();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__nan__1(std::string ** err_msg);
casadi::SX*
    casadi__SX__nan__1(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::nan();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__2(std::string ** err_msg, long long x0)"
// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__nan__2(std::string ** err_msg, long long x0);
casadi::SX*
    casadi__SX__nan__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = casadi::SX::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::SX ret = casadi::SX::nan(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__nan__3(std::string ** err_msg, long long x0, long long x1);
casadi::SX*
    casadi__SX__nan__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = casadi::SX::nan(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nan" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nan"
// cWrapperName: "casadi__SX__nan__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::SX ret = casadi::SX::nan(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__nan__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::nan(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nnz"
// cWrapperName: "casadi__SX__nnz"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->nnz();"
// params: []
extern "C"
long long
    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__nnz(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->nnz();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_diag" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nnz_diag"
// cWrapperName: "casadi__SX__nnz_diag"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->nnz_diag();"
// params: []
extern "C"
long long
    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__nnz_diag(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->nnz_diag();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_lower" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nnz_lower"
// cWrapperName: "casadi__SX__nnz_lower"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->nnz_lower();"
// params: []
extern "C"
long long
    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__nnz_lower(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->nnz_lower();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_upper" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::nnz_upper"
// cWrapperName: "casadi__SX__nnz_upper"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->nnz_upper();"
// params: []
extern "C"
long long
    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__nnz_upper(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->nnz_upper();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::numel"
// cWrapperName: "casadi__SX__numel"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__numel(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->numel();"
// params: []
extern "C"
long long
    casadi__SX__numel(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__numel(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->numel();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::SX*
    casadi__SX__ones__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::SX ret = casadi::SX::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__ones__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__2(std::string ** err_msg)"
// call: "        casadi::SX ret = casadi::SX::ones();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__ones__2(std::string ** err_msg);
casadi::SX*
    casadi__SX__ones__2(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::ones();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__3(std::string ** err_msg, long long x0)"
// call: "        casadi::SX ret = casadi::SX::ones(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__ones__3(std::string ** err_msg, long long x0);
casadi::SX*
    casadi__SX__ones__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = casadi::SX::ones(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "ones" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::ones"
// cWrapperName: "casadi__SX__ones__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__ones__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::SX ret = casadi::SX::ones(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__ones__4(std::string ** err_msg, long long x0, long long x1);
casadi::SX*
    casadi__SX__ones__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = casadi::SX::ones(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "op" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::op"
// cWrapperName: "casadi__SX__op"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__op(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->op();"
// params: []
extern "C"
long long
    casadi__SX__op(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__op(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->op();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator +" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::operator +"
// cWrapperName: "casadi__SX__operator__plus"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj)"
// call: "        casadi::SX ret = obj->operator +();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj);
casadi::SX*
    casadi__SX__operator__plus(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::SX ret = obj->operator +();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator -" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::operator -"
// cWrapperName: "casadi__SX__operator__minus"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj)"
// call: "        casadi::SX ret = obj->operator -();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj);
casadi::SX*
    casadi__SX__operator__minus(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::SX ret = obj->operator -();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator casadi_int" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::operator casadi_int"
// cWrapperName: "casadi__SX__operator_casadi_int"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__operator_casadi_int(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->operator casadi_int();"
// params: []
extern "C"
long long
    casadi__SX__operator_casadi_int(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__operator_casadi_int(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->operator casadi_int();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator double" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::operator double"
// cWrapperName: "casadi__SX__operator_double"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj)"
// call: "        double ret = obj->operator double();"
// params: []
extern "C"
double
    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj);
double
    casadi__SX__operator_double(std::string ** err_msg, casadi::SX* obj){
    try {

        double ret = obj->operator double();

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "print_split" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::print_split"
// cWrapperName: "casadi__SX__print_split"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1)"
// call: "        obj->print_split(x0_, x1_);"
// params: [(Ref (StdVec StdString),SwigOutput True),(Ref (StdVec StdString),SwigOutput True)]
extern "C"
void
    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1);
void
    casadi__SX__print_split(std::string ** err_msg, casadi::SX* obj, std::vector< std::string* >** x0, std::vector< std::string* >** x1){
    try {
        std::vector< std::string > x0_ = std::vector< std::string >();  // Swig output
        std::vector< std::string > x1_ = std::vector< std::string >();  // Swig output

        obj->print_split(x0_, x1_);
        *x0 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x0_ );
        *x1 = WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "printme" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::printme"
// cWrapperName: "casadi__SX__printme"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0)"
// call: "        casadi::SX ret = obj->printme(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0);
casadi::SX*
    casadi__SX__printme(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = obj->printme(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::rand"
// cWrapperName: "casadi__SX__rand__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::SX ret = casadi::SX::rand(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::SX*
    casadi__SX__rand__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::SX ret = casadi::SX::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::rand"
// cWrapperName: "casadi__SX__rand__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__rand__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::SX ret = casadi::SX::rand(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__rand__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__rand__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::rand"
// cWrapperName: "casadi__SX__rand__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__rand__2(std::string ** err_msg)"
// call: "        casadi::SX ret = casadi::SX::rand();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__rand__2(std::string ** err_msg);
casadi::SX*
    casadi__SX__rand__2(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::rand();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::rand"
// cWrapperName: "casadi__SX__rand__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__rand__3(std::string ** err_msg, long long x0)"
// call: "        casadi::SX ret = casadi::SX::rand(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__rand__3(std::string ** err_msg, long long x0);
casadi::SX*
    casadi__SX__rand__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = casadi::SX::rand(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rand" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::rand"
// cWrapperName: "casadi__SX__rand__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__rand__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::SX ret = casadi::SX::rand(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__rand__4(std::string ** err_msg, long long x0, long long x1);
casadi::SX*
    casadi__SX__rand__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = casadi::SX::rand(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "remove" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::remove"
// cWrapperName: "casadi__SX__remove"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        obj->remove(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1);
void
    casadi__SX__remove(std::string ** err_msg, casadi::SX* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->remove(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::reserve"
// cWrapperName: "casadi__SX__reserve__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
// call: "        obj->reserve(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1);
void
    casadi__SX__reserve__0(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        obj->reserve(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reserve" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::reserve"
// cWrapperName: "casadi__SX__reserve__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, long long x0)"
// call: "        obj->reserve(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, long long x0);
void
    casadi__SX__reserve__1(std::string ** err_msg, casadi::SX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        obj->reserve(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "reset_input" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::reset_input"
// cWrapperName: "casadi__SX__reset_input"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__reset_input(std::string ** err_msg, casadi::SX* obj)"
// call: "        obj->reset_input();"
// params: []
extern "C"
void
    casadi__SX__reset_input(std::string ** err_msg, casadi::SX* obj);
void
    casadi__SX__reset_input(std::string ** err_msg, casadi::SX* obj){
    try {

        obj->reset_input();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "resize" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::resize"
// cWrapperName: "casadi__SX__resize"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1)"
// call: "        obj->resize(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1);
void
    casadi__SX__resize(std::string ** err_msg, casadi::SX* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        obj->resize(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "rng" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::rng"
// cWrapperName: "casadi__SX__rng"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__rng(std::string ** err_msg, long long x0)"
// call: "        casadi::SX::rng(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__SX__rng(std::string ** err_msg, long long x0);
void
    casadi__SX__rng(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX::rng(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::row"
// cWrapperName: "casadi__SX__row"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, long long x0)"
// call: "        long long ret = obj->row(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, long long x0);
long long
    casadi__SX__row(std::string ** err_msg, casadi::SX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->row(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rows" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::rows"
// cWrapperName: "casadi__SX__rows"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__rows(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->rows();"
// params: []
extern "C"
long long
    casadi__SX__rows(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__rows(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->rows();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "scalar_matrix" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::scalar_matrix"
// cWrapperName: "casadi__SX__scalar_matrix"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__scalar_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2)"
// call: "        casadi::SX ret = casadi::SX::scalar_matrix(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__scalar_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__scalar_matrix(std::string ** err_msg, long long x0, casadi::SX* x1, casadi::SX* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::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::SX::scalar_matrix(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi__SX__set__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3);
void
    casadi__SX__set__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2, casadi::Slice* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3);
void
    casadi__SX__set__2(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::IM* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3)"
// call: "        obj->set(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3);
void
    casadi__SX__set__3(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2, casadi::Slice* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);
        casadi::Slice& x3_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x3);

        obj->set(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__4"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2);
void
    casadi__SX__set__4(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Sparsity* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__5"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2);
void
    casadi__SX__set__5(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set"
// cWrapperName: "casadi__SX__set__6"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// call: "        obj->set(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
void
    casadi__SX__set__6(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_max_depth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set_max_depth"
// cWrapperName: "casadi__SX__set_max_depth__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set_max_depth__0(std::string ** err_msg)"
// call: "        casadi::SX::set_max_depth();"
// params: []
extern "C"
void
    casadi__SX__set_max_depth__0(std::string ** err_msg);
void
    casadi__SX__set_max_depth__0(std::string ** err_msg){
    try {

        casadi::SX::set_max_depth();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_max_depth" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set_max_depth"
// cWrapperName: "casadi__SX__set_max_depth__1"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set_max_depth__1(std::string ** err_msg, long long x0)"
// call: "        casadi::SX::set_max_depth(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__SX__set_max_depth__1(std::string ** err_msg, long long x0);
void
    casadi__SX__set_max_depth__1(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX::set_max_depth(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nz" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set_nz"
// cWrapperName: "casadi__SX__set_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2)"
// call: "        obj->set_nz(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2);
void
    casadi__SX__set_nz__0(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::IM* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        obj->set_nz(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "set_nz" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set_nz"
// cWrapperName: "casadi__SX__set_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2)"
// call: "        obj->set_nz(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
void
    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2);
void
    casadi__SX__set_nz__1(std::string ** err_msg, casadi::SX* obj, casadi::SX* x0, int x1, casadi::Slice* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        casadi::Slice& x2_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x2);

        obj->set_nz(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_precision" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set_precision"
// cWrapperName: "casadi__SX__set_precision"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set_precision(std::string ** err_msg, long long x0)"
// call: "        casadi::SX::set_precision(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__SX__set_precision(std::string ** err_msg, long long x0);
void
    casadi__SX__set_precision(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX::set_precision(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_scientific" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set_scientific"
// cWrapperName: "casadi__SX__set_scientific"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set_scientific(std::string ** err_msg, int x0)"
// call: "        casadi::SX::set_scientific(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
void
    casadi__SX__set_scientific(std::string ** err_msg, int x0);
void
    casadi__SX__set_scientific(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::SX::set_scientific(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "set_width" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::set_width"
// cWrapperName: "casadi__SX__set_width"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__set_width(std::string ** err_msg, long long x0)"
// call: "        casadi::SX::set_width(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__SX__set_width(std::string ** err_msg, long long x0);
void
    casadi__SX__set_width(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX::set_width(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::size"
// cWrapperName: "casadi__SX__size__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, long long x0)"
// call: "        long long ret = obj->size(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, long long x0);
long long
    casadi__SX__size__0(std::string ** err_msg, casadi::SX* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::size"
// cWrapperName: "casadi__SX__size__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj)"
// call: "        std::pair< long long, long long > ret = obj->size();"
// params: []
extern "C"
std::pair< long long, long long >*
    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj);
std::pair< long long, long long >*
    casadi__SX__size__1(std::string ** err_msg, casadi::SX* obj){
    try {

        std::pair< long long, long long > ret = obj->size();

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::size1"
// cWrapperName: "casadi__SX__size1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->size1();"
// params: []
extern "C"
long long
    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__size1(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->size1();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::size2"
// cWrapperName: "casadi__SX__size2"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj)"
// call: "        long long ret = obj->size2();"
// params: []
extern "C"
long long
    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj);
long long
    casadi__SX__size2(std::string ** err_msg, casadi::SX* obj){
    try {

        long long ret = obj->size2();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sparsity" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sparsity"
// cWrapperName: "casadi__SX__sparsity"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj)"
// args: "()"
// rettype: Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj)"
// call: "        casadi::Sparsity ret = obj->sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj);
casadi::Sparsity*
    casadi__SX__sparsity(std::string ** err_msg, casadi::SX* obj){
    try {

        casadi::Sparsity ret = obj->sparsity();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4)"
// call: "        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4);
std::vector< std::vector< casadi::SX* >* >*
    casadi__SX__sym__0(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3, long long x4){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3)"
// call: "        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3);
std::vector< std::vector< casadi::SX* >* >*
    casadi__SX__sym__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2, long long x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        std::vector< std::vector< casadi::SX > > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3)"
// call: "        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< casadi::SX* >*
    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3);
std::vector< casadi::SX* >*
    casadi__SX__sym__2(std::string ** err_msg, std::string* x0, long long x1, long long x2, long long x3){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        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;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2)"
// call: "        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< casadi::SX* >*
    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2);
std::vector< casadi::SX* >*
    casadi__SX__sym__3(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::SX > ret = casadi::SX::sym(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        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;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::SX*
    casadi__SX__sym__4(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::SX ret = casadi::SX::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1)"
// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1);
casadi::SX*
    casadi__SX__sym__5(std::string ** err_msg, std::string* x0, std::pair< long long, long long >* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::pair< long long, long long > x1_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x1);

        casadi::SX ret = casadi::SX::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__6"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__6(std::string ** err_msg, std::string* x0)"
// call: "        casadi::SX ret = casadi::SX::sym(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__sym__6(std::string ** err_msg, std::string* x0);
casadi::SX*
    casadi__SX__sym__6(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::SX ret = casadi::SX::sym(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, long long x1)"
// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, long long x1);
casadi::SX*
    casadi__SX__sym__7(std::string ** err_msg, std::string* x0, long long x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = casadi::SX::sym(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "sym" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::sym"
// cWrapperName: "casadi__SX__sym__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2)"
// call: "        casadi::SX ret = casadi::SX::sym(x0_, x1_, x2_);"
// params: [(Ref (Const StdString),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2);
casadi::SX*
    casadi__SX__sym__8(std::string ** err_msg, std::string* x0, long long x1, long long x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::SX ret = casadi::SX::sym(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_file" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::to_file"
// cWrapperName: "casadi__SX__to_file__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__to_file__0(std::string ** err_msg, casadi::SX* obj, std::string* x0)"
// call: "        obj->to_file(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__SX__to_file__0(std::string ** err_msg, casadi::SX* obj, std::string* x0);
void
    casadi__SX__to_file__0(std::string ** err_msg, casadi::SX* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->to_file(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "to_file" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::to_file"
// cWrapperName: "casadi__SX__to_file__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SX__to_file__1(std::string ** err_msg, casadi::SX* obj, std::string* x0, std::string* x1)"
// call: "        obj->to_file(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__SX__to_file__1(std::string ** err_msg, casadi::SX* obj, std::string* x0, std::string* x1);
void
    casadi__SX__to_file__1(std::string ** err_msg, casadi::SX* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->to_file(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::triplet"
// cWrapperName: "casadi__SX__triplet__0"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, std::pair< long long, long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, std::pair< long long, long long >* x3)"
// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, std::pair< long long, long long >* x3);
casadi::SX*
    casadi__SX__triplet__0(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, std::pair< long long, long long >* x3){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        std::pair< long long, long long > x3_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x3);

        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::triplet"
// cWrapperName: "casadi__SX__triplet__1"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, long long x3, long long x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, long long x3, long long x4)"
// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, long long x3, long long x4);
casadi::SX*
    casadi__SX__triplet__1(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2, long long x3, long long x4){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::triplet"
// cWrapperName: "casadi__SX__triplet__2"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2)"
// call: "        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2);
casadi::SX*
    casadi__SX__triplet__2(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, casadi::SX* x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = casadi::SX::triplet(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::type_name"
// cWrapperName: "casadi__SX__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SX__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::SX::type_name();"
// params: []
extern "C"
std::string*
    casadi__SX__type_name(std::string ** err_msg);
std::string*
    casadi__SX__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::SX::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unary" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::unary"
// cWrapperName: "casadi__SX__unary"
// protoArgs: "(std::string ** err_msg, long long x0, casadi::SX* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__unary(std::string ** err_msg, long long x0, casadi::SX* x1)"
// call: "        casadi::SX ret = casadi::SX::unary(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__unary(std::string ** err_msg, long long x0, casadi::SX* x1);
casadi::SX*
    casadi__SX__unary(std::string ** err_msg, long long x0, casadi::SX* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = casadi::SX::unary(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::SX*
    casadi__SX__zeros__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::SX ret = casadi::SX::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0)"
// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0);
casadi::SX*
    casadi__SX__zeros__1(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::SX ret = casadi::SX::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__2(std::string ** err_msg)"
// call: "        casadi::SX ret = casadi::SX::zeros();"
// params: []
extern "C"
casadi::SX*
    casadi__SX__zeros__2(std::string ** err_msg);
casadi::SX*
    casadi__SX__zeros__2(std::string ** err_msg){
    try {

        casadi::SX ret = casadi::SX::zeros();

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__3"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__3(std::string ** err_msg, long long x0)"
// call: "        casadi::SX ret = casadi::SX::zeros(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__zeros__3(std::string ** err_msg, long long x0);
casadi::SX*
    casadi__SX__zeros__3(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::SX ret = casadi::SX::zeros(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "zeros" ===============
// class: "casadi::SX"
// cppName: "casadi::SX::zeros"
// cWrapperName: "casadi__SX__zeros__4"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "SX")
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi__SX__zeros__4(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::SX ret = casadi::SX::zeros(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::SX*
    casadi__SX__zeros__4(std::string ** err_msg, long long x0, long long x1);
casadi::SX*
    casadi__SX__zeros__4(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = casadi::SX::zeros(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SXElem")===============
// classType: UserType (Namespace ["casadi"]) (Name "SXElem")
extern "C"
void delete_casadi__SXElem(casadi::SXElem* obj);
void delete_casadi__SXElem(casadi::SXElem* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "SharedObject")===============
// classType: UserType (Namespace ["casadi"]) (Name "SharedObject")
extern "C"
void delete_casadi__SharedObject(casadi::SharedObject* obj);
void delete_casadi__SharedObject(casadi::SharedObject* obj){
    delete obj;
}

// ================== Normal method: "__hash__" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::__hash__"
// cWrapperName: "casadi__SharedObject____hash__"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "        long long ret = obj->__hash__();"
// params: []
extern "C"
long long
    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj);
long long
    casadi__SharedObject____hash__(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        long long ret = obj->__hash__();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "class_name" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::class_name"
// cWrapperName: "casadi__SharedObject__class_name"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SharedObject__class_name(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "        std::string ret = obj->class_name();"
// params: []
extern "C"
std::string*
    casadi__SharedObject__class_name(std::string ** err_msg, casadi::SharedObject* obj);
std::string*
    casadi__SharedObject__class_name(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        std::string ret = obj->class_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::get_str"
// cWrapperName: "casadi__SharedObject__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SharedObject__get_str__0(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__SharedObject__get_str__0(std::string ** err_msg, casadi::SharedObject* obj);
std::string*
    casadi__SharedObject__get_str__0(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::get_str"
// cWrapperName: "casadi__SharedObject__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__SharedObject__get_str__1(std::string ** err_msg, casadi::SharedObject* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__SharedObject__get_str__1(std::string ** err_msg, casadi::SharedObject* obj, int x0);
std::string*
    casadi__SharedObject__get_str__1(std::string ** err_msg, casadi::SharedObject* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_null" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::is_null"
// cWrapperName: "casadi__SharedObject__is_null"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "        bool ret = obj->is_null();"
// params: []
extern "C"
int
    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj);
int
    casadi__SharedObject__is_null(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        bool ret = obj->is_null();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "print_ptr" ===============
// class: "casadi::SharedObject"
// cppName: "casadi::SharedObject::print_ptr"
// cWrapperName: "casadi__SharedObject__print_ptr"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__SharedObject__print_ptr(std::string ** err_msg, casadi::SharedObject* obj)"
// call: "        obj->print_ptr();"
// params: []
extern "C"
void
    casadi__SharedObject__print_ptr(std::string ** err_msg, casadi::SharedObject* obj);
void
    casadi__SharedObject__print_ptr(std::string ** err_msg, casadi::SharedObject* obj){
    try {

        obj->print_ptr();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Slice")===============
// classType: UserType (Namespace ["casadi"]) (Name "Slice")
extern "C"
void delete_casadi__Slice(casadi::Slice* obj);
void delete_casadi__Slice(casadi::Slice* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, long long x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, long long x0, int x1)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CInt,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, long long x0, int x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__0(std::string ** err_msg, long long x0, int x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, long long x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, long long x0, int x1, int x2)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, long long x0, int x1, int x2);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__1(std::string ** err_msg, long long x0, int x1, int x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, int x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0, long long x1)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
// params: [(CInt,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0, long long x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__2(std::string ** err_msg, int x0, long long x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, int x0, long long x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, long long x1, int x2)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
// params: [(CInt,SwigOutput False),(CLongLong,SwigOutput False),(CInt,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, long long x1, int x2);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__3(std::string ** err_msg, int x0, long long x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg, int x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__4(std::string ** err_msg, int x0, int x1){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, int x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0, int x1, int x2)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(CInt,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0, int x1, int x2);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__5(std::string ** err_msg, int x0, int x1, int x2){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);
        int x1_ = Marshaling<int,int>::marshal(x1);
        int x2_ = Marshaling<int,int>::marshal(x2);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__6"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__6(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__7"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1, long long x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg, long long x0, long long x1, long long x2)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg, long long x0, long long x1, long long x2);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__7(std::string ** err_msg, long long x0, long long x1, long long x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__8"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__8(std::string ** err_msg, long long x0)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__8(std::string ** err_msg, long long x0);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__8(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__9"
// protoArgs: "(std::string ** err_msg, long long x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__9(std::string ** err_msg, long long x0, int x1)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__9(std::string ** err_msg, long long x0, int x1);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__9(std::string ** err_msg, long long x0, int x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice"
// cWrapperName: "casadi__Slice__CONSTRUCTOR__10"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Slice")
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    casadi__Slice__CONSTRUCTOR__10(std::string ** err_msg)"
// call: "        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice();"
// params: []
extern "C"
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__10(std::string ** err_msg);
casadi::Slice*
    casadi__Slice__CONSTRUCTOR__10(std::string ** err_msg){
    try {

        casadi::Slice* ret = (casadi::Slice*)new casadi::Slice();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "all" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::all"
// cWrapperName: "casadi__Slice__all__0"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, long long x1)"
// call: "        std::vector< long long > ret = obj->all(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, long long x1);
std::vector< long long >*
    casadi__Slice__all__0(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0, long long x1){
    try {
        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< long long > ret = obj->all(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "all" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::all"
// cWrapperName: "casadi__Slice__all__1"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, long long x0)"
// args: "(x0_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, long long x0)"
// call: "        std::vector< long long > ret = obj->all(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, long long x0);
std::vector< long long >*
    casadi__Slice__all__1(std::string ** err_msg, casadi::Slice* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::vector< long long > ret = obj->all(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "all" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::all"
// cWrapperName: "casadi__Slice__all__2"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, long long x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, long long x0, int x1)"
// call: "        std::vector< long long > ret = obj->all(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, long long x0, int x1);
std::vector< long long >*
    casadi__Slice__all__2(std::string ** err_msg, casadi::Slice* obj, long long x0, int x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< long long > ret = obj->all(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::get_str"
// cWrapperName: "casadi__Slice__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Slice__get_str__0(std::string ** err_msg, casadi::Slice* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__Slice__get_str__0(std::string ** err_msg, casadi::Slice* obj);
std::string*
    casadi__Slice__get_str__0(std::string ** err_msg, casadi::Slice* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::get_str"
// cWrapperName: "casadi__Slice__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Slice__get_str__1(std::string ** err_msg, casadi::Slice* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__Slice__get_str__1(std::string ** err_msg, casadi::Slice* obj, int x0);
std::string*
    casadi__Slice__get_str__1(std::string ** err_msg, casadi::Slice* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "info" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::info"
// cWrapperName: "casadi__Slice__info"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Slice__info(std::string ** err_msg, casadi::Slice* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Slice__info(std::string ** err_msg, casadi::Slice* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__Slice__info(std::string ** err_msg, casadi::Slice* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->info();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::is_scalar"
// cWrapperName: "casadi__Slice__is_scalar"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, long long x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, long long x0)"
// call: "        bool ret = obj->is_scalar(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, long long x0);
int
    casadi__Slice__is_scalar(std::string ** err_msg, casadi::Slice* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        bool ret = obj->is_scalar(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator !=" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::operator !="
// cWrapperName: "casadi__Slice__operator__nequals"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
// call: "        bool ret = obj->operator !=(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
int
    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0);
int
    casadi__Slice__operator__nequals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0){
    try {
        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);

        bool ret = obj->operator !=(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ==" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::operator =="
// cWrapperName: "casadi__Slice__operator__equals"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0)"
// call: "        bool ret = obj->operator ==(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Slice"))),SwigOutput False)]
extern "C"
int
    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0);
int
    casadi__Slice__operator__equals(std::string ** err_msg, casadi::Slice* obj, casadi::Slice* x0){
    try {
        casadi::Slice& x0_ = Marshaling<casadi::Slice&,casadi::Slice*>::marshal(x0);

        bool ret = obj->operator ==(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "scalar" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::scalar"
// cWrapperName: "casadi__Slice__scalar"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, long long x0)"
// call: "        long long ret = obj->scalar(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, long long x0);
long long
    casadi__Slice__scalar(std::string ** err_msg, casadi::Slice* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->scalar(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "type_name" ===============
// class: "casadi::Slice"
// cppName: "casadi::Slice::type_name"
// cWrapperName: "casadi__Slice__type_name"
// protoArgs: "(std::string ** err_msg, casadi::Slice* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Slice__type_name(std::string ** err_msg, casadi::Slice* obj)"
// call: "        std::string ret = obj->type_name();"
// params: []
extern "C"
std::string*
    casadi__Slice__type_name(std::string ** err_msg, casadi::Slice* obj);
std::string*
    casadi__Slice__type_name(std::string ** err_msg, casadi::Slice* obj){
    try {

        std::string ret = obj->type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "Sparsity")===============
// classType: UserType (Namespace ["casadi"]) (Name "Sparsity")
extern "C"
void delete_casadi__Sparsity(casadi::Sparsity* obj);
void delete_casadi__Sparsity(casadi::Sparsity* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_, x4_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__3"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, long long x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__3(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__4"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg)"
// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__4(std::string ** err_msg){
    try {

        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity"
// cWrapperName: "casadi__Sparsity__CONSTRUCTOR__5"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__5(std::string ** err_msg, long long x0)"
// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__5(std::string ** err_msg, long long x0);
casadi::Sparsity*
    casadi__Sparsity__CONSTRUCTOR__5(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "T" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::T"
// cWrapperName: "casadi__Sparsity__T"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        casadi::Sparsity ret = obj->T();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__T(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->T();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "add_nz" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::add_nz"
// cWrapperName: "casadi__Sparsity__add_nz"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// call: "        long long ret = obj->add_nz(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
long long
    casadi__Sparsity__add_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        long long ret = obj->add_nz(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "amd" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::amd"
// cWrapperName: "casadi__Sparsity__amd"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__amd(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->amd();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__amd(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__amd(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->amd();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "append" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::append"
// cWrapperName: "casadi__Sparsity__append"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        obj->append(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
void
    casadi__Sparsity__append(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        obj->append(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "appendColumns" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::appendColumns"
// cWrapperName: "casadi__Sparsity__appendColumns"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        obj->appendColumns(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
void
    casadi__Sparsity__appendColumns(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        obj->appendColumns(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "band" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::band"
// cWrapperName: "casadi__Sparsity__band"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__band(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::band(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__band(std::string ** err_msg, long long x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__band(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::band(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "banded" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::banded"
// cWrapperName: "casadi__Sparsity__banded"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__banded(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::banded(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__banded(std::string ** err_msg, long long x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__banded(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::banded(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "btf" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::btf"
// cWrapperName: "casadi__Sparsity__btf"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1, std::vector< long long >** x2, std::vector< long long >** x3, std::vector< long long >** x4, std::vector< long long >** x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__btf(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1, std::vector< long long >** x2, std::vector< long long >** x3, std::vector< long long >** x4, std::vector< long long >** x5)"
// call: "        long long ret = obj->btf(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
long long
    casadi__Sparsity__btf(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1, std::vector< long long >** x2, std::vector< long long >** x3, std::vector< long long >** x4, std::vector< long long >** x5);
long long
    casadi__Sparsity__btf(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1, std::vector< long long >** x2, std::vector< long long >** x3, std::vector< long long >** x4, std::vector< long long >** x5){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
        std::vector< long long > x1_ = std::vector< long long >();  // Swig output
        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
        std::vector< long long > x3_ = std::vector< long long >();  // Swig output
        std::vector< long long > x4_ = std::vector< long long >();  // Swig output
        std::vector< long long > x5_ = std::vector< long long >();  // Swig output

        long long ret = obj->btf(x0_, x1_, x2_, x3_, x4_, x5_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );
        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
        *x3 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x3_ );
        *x4 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x4_ );
        *x5 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x5_ );

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "bw_lower" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::bw_lower"
// cWrapperName: "casadi__Sparsity__bw_lower"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->bw_lower();"
// params: []
extern "C"
long long
    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__bw_lower(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->bw_lower();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "bw_upper" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::bw_upper"
// cWrapperName: "casadi__Sparsity__bw_upper"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->bw_upper();"
// params: []
extern "C"
long long
    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__bw_upper(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->bw_upper();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "colind" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::colind"
// cWrapperName: "casadi__Sparsity__colind"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// call: "        long long ret = obj->colind(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
long long
    casadi__Sparsity__colind(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->colind(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "columns" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::columns"
// cWrapperName: "casadi__Sparsity__columns"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__columns(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->columns();"
// params: []
extern "C"
long long
    casadi__Sparsity__columns(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__columns(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->columns();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "combine" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::combine"
// cWrapperName: "casadi__Sparsity__combine"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2)"
// call: "        casadi::Sparsity ret = obj->combine(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2);
casadi::Sparsity*
    casadi__Sparsity__combine(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, int x1, int x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->combine(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "compress" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::compress"
// cWrapperName: "casadi__Sparsity__compress"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->compress();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__compress(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->compress();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "compressed" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::compressed"
// cWrapperName: "casadi__Sparsity__compressed__0"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__compressed__0(std::string ** err_msg, std::vector< long long >* x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__compressed__0(std::string ** err_msg, std::vector< long long >* x0);
casadi::Sparsity*
    casadi__Sparsity__compressed__0(std::string ** err_msg, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "compressed" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::compressed"
// cWrapperName: "casadi__Sparsity__compressed__1"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__compressed__1(std::string ** err_msg, std::vector< long long >* x0, int x1)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__compressed__1(std::string ** err_msg, std::vector< long long >* x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__compressed__1(std::string ** err_msg, std::vector< long long >* x0, int x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::compressed(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "dense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dense"
// cWrapperName: "casadi__Sparsity__dense__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::Sparsity*
    casadi__Sparsity__dense__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "dense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dense"
// cWrapperName: "casadi__Sparsity__dense__1"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__1(std::string ** err_msg, long long x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__dense__1(std::string ** err_msg, long long x0);
casadi::Sparsity*
    casadi__Sparsity__dense__1(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::dense(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "dense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dense"
// cWrapperName: "casadi__Sparsity__dense__2"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__dense__2(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::dense(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__dense__2(std::string ** err_msg, long long x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__dense__2(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::dense(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "density" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::density"
// cWrapperName: "casadi__Sparsity__density"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CDouble
// cWrapperRetType: "double"
// proto: "double\n    casadi__Sparsity__density(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        double ret = obj->density();"
// params: []
extern "C"
double
    casadi__Sparsity__density(std::string ** err_msg, casadi::Sparsity* obj);
double
    casadi__Sparsity__density(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        double ret = obj->density();

        return WrapReturn< double, double >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "deserialize" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::deserialize"
// cWrapperName: "casadi__Sparsity__deserialize"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__deserialize(std::string ** err_msg, std::string* x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::deserialize(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__deserialize(std::string ** err_msg, std::string* x0);
casadi::Sparsity*
    casadi__Sparsity__deserialize(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::deserialize(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dfs" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dfs"
// cWrapperName: "casadi__Sparsity__dfs"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< int >* x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< int >* x5)"
// call: "        long long ret = obj->dfs(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (StdVec CBool),SwigOutput False)]
extern "C"
long long
    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< int >* x5);
long long
    casadi__Sparsity__dfs(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >* x4, std::vector< int >* x5){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);
        std::vector< bool > x5_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x5);

        long long ret = obj->dfs(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output
        // x5 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::diag"
// cWrapperName: "casadi__Sparsity__diag__0"
// protoArgs: "(std::string ** err_msg, std::pair< long long, long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< long long, long long >* x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);"
// params: [(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< long long, long long >* x0);
casadi::Sparsity*
    casadi__Sparsity__diag__0(std::string ** err_msg, std::pair< long long, long long >* x0){
    try {
        std::pair< long long, long long > x0_ = Marshaling<std::pair< long long, long long >,std::pair< long long, long long >*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::diag"
// cWrapperName: "casadi__Sparsity__diag__1"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__1(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__diag__1(std::string ** err_msg, long long x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__diag__1(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::diag(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::diag"
// cWrapperName: "casadi__Sparsity__diag__2"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__diag__2(std::string ** err_msg, long long x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__diag__2(std::string ** err_msg, long long x0);
casadi::Sparsity*
    casadi__Sparsity__diag__2(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::diag(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dim"
// cWrapperName: "casadi__Sparsity__dim__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Sparsity__dim__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::string ret = obj->dim();"
// params: []
extern "C"
std::string*
    casadi__Sparsity__dim__0(std::string ** err_msg, casadi::Sparsity* obj);
std::string*
    casadi__Sparsity__dim__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::string ret = obj->dim();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "dim" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::dim"
// cWrapperName: "casadi__Sparsity__dim__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Sparsity__dim__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "        std::string ret = obj->dim(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__Sparsity__dim__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
std::string*
    casadi__Sparsity__dim__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->dim(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlarge"
// cWrapperName: "casadi__Sparsity__enlarge__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
void
    casadi__Sparsity__enlarge__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        obj->enlarge(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlarge" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlarge"
// cWrapperName: "casadi__Sparsity__enlarge__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4)"
// call: "        obj->enlarge(x0_, x1_, x2_, x3_, x4_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4);
void
    casadi__Sparsity__enlarge__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, int x4){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->enlarge(x0_, x1_, x2_, x3_, x4_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        // x4 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlargeColumns" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlargeColumns"
// cWrapperName: "casadi__Sparsity__enlargeColumns__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1)"
// call: "        obj->enlargeColumns(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1);
void
    casadi__Sparsity__enlargeColumns__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->enlargeColumns(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlargeColumns" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlargeColumns"
// cWrapperName: "casadi__Sparsity__enlargeColumns__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2)"
// call: "        obj->enlargeColumns(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2);
void
    casadi__Sparsity__enlargeColumns__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->enlargeColumns(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlargeRows" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlargeRows"
// cWrapperName: "casadi__Sparsity__enlargeRows__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1)"
// call: "        obj->enlargeRows(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1);
void
    casadi__Sparsity__enlargeRows__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        obj->enlargeRows(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "enlargeRows" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::enlargeRows"
// cWrapperName: "casadi__Sparsity__enlargeRows__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2)"
// call: "        obj->enlargeRows(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2);
void
    casadi__Sparsity__enlargeRows__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0, std::vector< long long >* x1, int x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        obj->enlargeRows(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::erase"
// cWrapperName: "casadi__Sparsity__erase__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
// call: "        std::vector< long long > ret = obj->erase(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0);
std::vector< long long >*
    casadi__Sparsity__erase__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        std::vector< long long > ret = obj->erase(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::erase"
// cWrapperName: "casadi__Sparsity__erase__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1)"
// call: "        std::vector< long long > ret = obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1);
std::vector< long long >*
    casadi__Sparsity__erase__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< long long > ret = obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::erase"
// cWrapperName: "casadi__Sparsity__erase__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        std::vector< long long > ret = obj->erase(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1);
std::vector< long long >*
    casadi__Sparsity__erase__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< long long > ret = obj->erase(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "erase" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::erase"
// cWrapperName: "casadi__Sparsity__erase__3"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2)"
// call: "        std::vector< long long > ret = obj->erase(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2);
std::vector< long long >*
    casadi__Sparsity__erase__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, int x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        std::vector< long long > ret = obj->erase(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "etree" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::etree"
// cWrapperName: "casadi__Sparsity__etree__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->etree();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__etree__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->etree();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "etree" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::etree"
// cWrapperName: "casadi__Sparsity__etree__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "        std::vector< long long > ret = obj->etree(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
std::vector< long long >*
    casadi__Sparsity__etree__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< long long > ret = obj->etree(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "export_code" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::export_code"
// cWrapperName: "casadi__Sparsity__export_code"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__export_code(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
// call: "        obj->export_code(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__export_code(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0);
void
    casadi__Sparsity__export_code(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->export_code(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::find"
// cWrapperName: "casadi__Sparsity__find__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->find();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__find__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->find();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "find" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::find"
// cWrapperName: "casadi__Sparsity__find__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "        std::vector< long long > ret = obj->find(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
std::vector< long long >*
    casadi__Sparsity__find__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::vector< long long > ret = obj->find(x0_);
        // x0 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "from_file" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::from_file"
// cWrapperName: "casadi__Sparsity__from_file__0"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__from_file__0(std::string ** err_msg, std::string* x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::from_file(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__from_file__0(std::string ** err_msg, std::string* x0);
casadi::Sparsity*
    casadi__Sparsity__from_file__0(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::from_file(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "from_file" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::from_file"
// cWrapperName: "casadi__Sparsity__from_file__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__from_file__1(std::string ** err_msg, std::string* x0, std::string* x1)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::from_file(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__from_file__1(std::string ** err_msg, std::string* x0, std::string* x1);
casadi::Sparsity*
    casadi__Sparsity__from_file__1(std::string ** err_msg, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::from_file(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "from_info" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::from_info"
// cWrapperName: "casadi__Sparsity__from_info"
// protoArgs: "(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::from_info(x0_);"
// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
casadi::Sparsity*
    casadi__Sparsity__from_info(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0){
    try {
        std::map< std::string, casadi::GenericType > x0_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::from_info(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_ccs" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_ccs"
// cWrapperName: "casadi__Sparsity__get_ccs"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
// call: "        obj->get_ccs(x0_, x1_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
void
    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1);
void
    casadi__Sparsity__get_ccs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
        std::vector< long long > x1_ = std::vector< long long >();  // Swig output

        obj->get_ccs(x0_, x1_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_col" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_col"
// cWrapperName: "casadi__Sparsity__get_col"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->get_col();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__get_col(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->get_col();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_colind" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_colind"
// cWrapperName: "casadi__Sparsity__get_colind"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->get_colind();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__get_colind(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->get_colind();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_crs" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_crs"
// cWrapperName: "casadi__Sparsity__get_crs"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
// call: "        obj->get_crs(x0_, x1_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
void
    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1);
void
    casadi__Sparsity__get_crs(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
        std::vector< long long > x1_ = std::vector< long long >();  // Swig output

        obj->get_crs(x0_, x1_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_diag"
// cWrapperName: "casadi__Sparsity__get_diag"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
// call: "        casadi::Sparsity ret = obj->get_diag(x0_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0);
casadi::Sparsity*
    casadi__Sparsity__get_diag(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output

        casadi::Sparsity ret = obj->get_diag(x0_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_lower" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_lower"
// cWrapperName: "casadi__Sparsity__get_lower"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->get_lower();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__get_lower(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->get_lower();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_nz"
// cWrapperName: "casadi__Sparsity__get_nz__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
// call: "        obj->get_nz(x0_);"
// params: [(Ref (StdVec CLongLong),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0);
void
    casadi__Sparsity__get_nz__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        obj->get_nz(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_nz"
// cWrapperName: "casadi__Sparsity__get_nz__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// args: "(x0_, x1_)"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1)"
// call: "        std::vector< long long > ret = obj->get_nz(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
std::vector< long long >*
    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1);
std::vector< long long >*
    casadi__Sparsity__get_nz__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< long long > ret = obj->get_nz(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_nz" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_nz"
// cWrapperName: "casadi__Sparsity__get_nz__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// call: "        long long ret = obj->get_nz(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
long long
    casadi__Sparsity__get_nz__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        long long ret = obj->get_nz(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_row" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_row"
// cWrapperName: "casadi__Sparsity__get_row"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->get_row();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__get_row(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->get_row();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_triplet" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_triplet"
// cWrapperName: "casadi__Sparsity__get_triplet"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
// call: "        obj->get_triplet(x0_, x1_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
void
    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1);
void
    casadi__Sparsity__get_triplet(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
        std::vector< long long > x1_ = std::vector< long long >();  // Swig output

        obj->get_triplet(x0_, x1_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "get_upper" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::get_upper"
// cWrapperName: "casadi__Sparsity__get_upper"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->get_upper();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__get_upper(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->get_upper();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "has_nz" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::has_nz"
// cWrapperName: "casadi__Sparsity__has_nz"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// call: "        bool ret = obj->has_nz(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
int
    casadi__Sparsity__has_nz(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        bool ret = obj->has_nz(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "hash" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::hash"
// cWrapperName: "casadi__Sparsity__hash"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CSize
// cWrapperRetType: "size_t"
// proto: "size_t\n    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        size_t ret = obj->hash();"
// params: []
extern "C"
size_t
    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj);
size_t
    casadi__Sparsity__hash(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        size_t ret = obj->hash();

        return WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "info" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::info"
// cWrapperName: "casadi__Sparsity__info"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType"))
// cWrapperRetType: "std::map< std::string, casadi::GenericType* >*"
// proto: "std::map< std::string, casadi::GenericType* >*\n    casadi__Sparsity__info(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::map< std::string, casadi::GenericType > ret = obj->info();"
// params: []
extern "C"
std::map< std::string, casadi::GenericType* >*
    casadi__Sparsity__info(std::string ** err_msg, casadi::Sparsity* obj);
std::map< std::string, casadi::GenericType* >*
    casadi__Sparsity__info(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::map< std::string, casadi::GenericType > ret = obj->info();

        return WrapReturn< std::map< std::string, casadi::GenericType* >*, std::map< std::string, casadi::GenericType > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "intersect" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::intersect"
// cWrapperName: "casadi__Sparsity__intersect"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        casadi::Sparsity ret = obj->intersect(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__intersect(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->intersect(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_column" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_column"
// cWrapperName: "casadi__Sparsity__is_column"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_column();"
// params: []
extern "C"
int
    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_column(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_column();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_dense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_dense"
// cWrapperName: "casadi__Sparsity__is_dense"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_dense();"
// params: []
extern "C"
int
    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_dense(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_dense();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_diag"
// cWrapperName: "casadi__Sparsity__is_diag"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_diag();"
// params: []
extern "C"
int
    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_diag(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_diag();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_empty"
// cWrapperName: "casadi__Sparsity__is_empty__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_empty();"
// params: []
extern "C"
int
    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_empty__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_empty();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_empty" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_empty"
// cWrapperName: "casadi__Sparsity__is_empty__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "        bool ret = obj->is_empty(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
int
    casadi__Sparsity__is_empty__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_empty(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_equal" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_equal"
// cWrapperName: "casadi__Sparsity__is_equal__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        bool ret = obj->is_equal(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
int
    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
int
    casadi__Sparsity__is_equal__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        bool ret = obj->is_equal(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_equal" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_equal"
// cWrapperName: "casadi__Sparsity__is_equal__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        bool ret = obj->is_equal(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
int
    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__is_equal__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->is_equal(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_reshape" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_reshape"
// cWrapperName: "casadi__Sparsity__is_reshape"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_reshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        bool ret = obj->is_reshape(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
int
    casadi__Sparsity__is_reshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__is_reshape(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->is_reshape(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_row" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_row"
// cWrapperName: "casadi__Sparsity__is_row"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_row();"
// params: []
extern "C"
int
    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_row(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_row();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_scalar"
// cWrapperName: "casadi__Sparsity__is_scalar__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_scalar();"
// params: []
extern "C"
int
    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_scalar__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_scalar();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_scalar" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_scalar"
// cWrapperName: "casadi__Sparsity__is_scalar__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "        bool ret = obj->is_scalar(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
int
    casadi__Sparsity__is_scalar__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->is_scalar(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_singular" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_singular"
// cWrapperName: "casadi__Sparsity__is_singular"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_singular();"
// params: []
extern "C"
int
    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_singular(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_singular();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_square" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_square"
// cWrapperName: "casadi__Sparsity__is_square"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_square();"
// params: []
extern "C"
int
    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_square(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_square();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_stacked" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_stacked"
// cWrapperName: "casadi__Sparsity__is_stacked"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_stacked(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1)"
// call: "        bool ret = obj->is_stacked(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
int
    casadi__Sparsity__is_stacked(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1);
int
    casadi__Sparsity__is_stacked(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        bool ret = obj->is_stacked(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_symmetric" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_symmetric"
// cWrapperName: "casadi__Sparsity__is_symmetric"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_symmetric();"
// params: []
extern "C"
int
    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_symmetric(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_symmetric();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_transpose" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_transpose"
// cWrapperName: "casadi__Sparsity__is_transpose"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        bool ret = obj->is_transpose(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
int
    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__is_transpose(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->is_transpose(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_tril" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_tril"
// cWrapperName: "casadi__Sparsity__is_tril"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_tril();"
// params: []
extern "C"
int
    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_tril(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_tril();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_triu" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_triu"
// cWrapperName: "casadi__Sparsity__is_triu"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_triu();"
// params: []
extern "C"
int
    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_triu(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_triu();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "is_vector" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::is_vector"
// cWrapperName: "casadi__Sparsity__is_vector"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->is_vector();"
// params: []
extern "C"
int
    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__is_vector(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->is_vector();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "kkt" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::kkt"
// cWrapperName: "casadi__Sparsity__kkt__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__kkt__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__kkt__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
casadi::Sparsity*
    casadi__Sparsity__kkt__0(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "kkt" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::kkt"
// cWrapperName: "casadi__Sparsity__kkt__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__kkt__1(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_, x2_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__kkt__1(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2);
casadi::Sparsity*
    casadi__Sparsity__kkt__1(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "kkt" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::kkt"
// cWrapperName: "casadi__Sparsity__kkt__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__kkt__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2, int x3)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__kkt__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__kkt__2(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, int x2, int x3){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = casadi::Sparsity::kkt(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "largest_first" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::largest_first"
// cWrapperName: "casadi__Sparsity__largest_first"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdVec CLongLong
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::vector< long long > ret = obj->largest_first();"
// params: []
extern "C"
std::vector< long long >*
    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj);
std::vector< long long >*
    casadi__Sparsity__largest_first(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::vector< long long > ret = obj->largest_first();

        return WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "ldl" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::ldl"
// cWrapperName: "casadi__Sparsity__ldl__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__ldl__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
// call: "        casadi::Sparsity ret = obj->ldl(x0_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__ldl__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0);
casadi::Sparsity*
    casadi__Sparsity__ldl__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output

        casadi::Sparsity ret = obj->ldl(x0_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "ldl" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::ldl"
// cWrapperName: "casadi__Sparsity__ldl__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__ldl__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1)"
// call: "        casadi::Sparsity ret = obj->ldl(x0_, x1_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__ldl__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__ldl__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Sparsity ret = obj->ldl(x0_, x1_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "lower" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::lower"
// cWrapperName: "casadi__Sparsity__lower"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__lower(std::string ** err_msg, long long x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::lower(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__lower(std::string ** err_msg, long long x0);
casadi::Sparsity*
    casadi__Sparsity__lower(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::lower(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "makeDense" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::makeDense"
// cWrapperName: "casadi__Sparsity__makeDense"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
// call: "        casadi::Sparsity ret = obj->makeDense(x0_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0);
casadi::Sparsity*
    casadi__Sparsity__makeDense(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output

        casadi::Sparsity ret = obj->makeDense(x0_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nnz"
// cWrapperName: "casadi__Sparsity__nnz"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->nnz();"
// params: []
extern "C"
long long
    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__nnz(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->nnz();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_diag" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nnz_diag"
// cWrapperName: "casadi__Sparsity__nnz_diag"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->nnz_diag();"
// params: []
extern "C"
long long
    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__nnz_diag(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->nnz_diag();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_lower" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nnz_lower"
// cWrapperName: "casadi__Sparsity__nnz_lower__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->nnz_lower();"
// params: []
extern "C"
long long
    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__nnz_lower__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->nnz_lower();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_lower" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nnz_lower"
// cWrapperName: "casadi__Sparsity__nnz_lower__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "        long long ret = obj->nnz_lower(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
long long
    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
long long
    casadi__Sparsity__nnz_lower__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        long long ret = obj->nnz_lower(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_upper" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nnz_upper"
// cWrapperName: "casadi__Sparsity__nnz_upper__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->nnz_upper();"
// params: []
extern "C"
long long
    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__nnz_upper__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->nnz_upper();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "nnz_upper" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nnz_upper"
// cWrapperName: "casadi__Sparsity__nnz_upper__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "        long long ret = obj->nnz_upper(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
long long
    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
long long
    casadi__Sparsity__nnz_upper__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        long long ret = obj->nnz_upper(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nonzeros" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nonzeros"
// cWrapperName: "casadi__Sparsity__nonzeros__0"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__nonzeros__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::nonzeros(x0_, x1_, x2_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__nonzeros__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2);
casadi::Sparsity*
    casadi__Sparsity__nonzeros__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);

        casadi::Sparsity ret = casadi::Sparsity::nonzeros(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "nonzeros" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::nonzeros"
// cWrapperName: "casadi__Sparsity__nonzeros__1"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__nonzeros__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, int x3)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::nonzeros(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__nonzeros__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__nonzeros__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, int x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = casadi::Sparsity::nonzeros(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "numel" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::numel"
// cWrapperName: "casadi__Sparsity__numel"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->numel();"
// params: []
extern "C"
long long
    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__numel(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->numel();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator !=" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::operator !="
// cWrapperName: "casadi__Sparsity__operator__nequals"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        bool ret = obj->operator !=(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
int
    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__operator__nequals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->operator !=(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator *" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::operator *"
// cWrapperName: "casadi__Sparsity__operator__mul"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        casadi::Sparsity ret = obj->operator *(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__operator__mul(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->operator *(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator +" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::operator +"
// cWrapperName: "casadi__Sparsity__operator__plus"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        casadi::Sparsity ret = obj->operator +(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__operator__plus(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->operator +(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "operator ==" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::operator =="
// cWrapperName: "casadi__Sparsity__operator__equals"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        bool ret = obj->operator ==(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
int
    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
int
    casadi__Sparsity__operator__equals(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        bool ret = obj->operator ==(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pattern_inverse" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pattern_inverse"
// cWrapperName: "casadi__Sparsity__pattern_inverse"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        casadi::Sparsity ret = obj->pattern_inverse();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__pattern_inverse(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->pattern_inverse();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pmult" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pmult"
// cWrapperName: "casadi__Sparsity__pmult__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
// call: "        casadi::Sparsity ret = obj->pmult(x0_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0);
casadi::Sparsity*
    casadi__Sparsity__pmult__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        casadi::Sparsity ret = obj->pmult(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pmult" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pmult"
// cWrapperName: "casadi__Sparsity__pmult__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1)"
// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__pmult__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Sparsity ret = obj->pmult(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pmult" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pmult"
// cWrapperName: "casadi__Sparsity__pmult__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2)"
// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2);
casadi::Sparsity*
    casadi__Sparsity__pmult__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "pmult" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::pmult"
// cWrapperName: "casadi__Sparsity__pmult__3"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2, int x3)"
// call: "        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__pmult__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, int x1, int x2, int x3){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->pmult(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "postfix_dim" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::postfix_dim"
// cWrapperName: "casadi__Sparsity__postfix_dim"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Sparsity__postfix_dim(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::string ret = obj->postfix_dim();"
// params: []
extern "C"
std::string*
    casadi__Sparsity__postfix_dim(std::string ** err_msg, casadi::Sparsity* obj);
std::string*
    casadi__Sparsity__postfix_dim(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::string ret = obj->postfix_dim();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "qr_sparse" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::qr_sparse"
// cWrapperName: "casadi__Sparsity__qr_sparse__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__qr_sparse__0(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3)"
// call: "        obj->qr_sparse(x0_, x1_, x2_, x3_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "Sparsity")),SwigOutput True),(Ref (UserType (Namespace ["casadi"]) (Name "Sparsity")),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
void
    casadi__Sparsity__qr_sparse__0(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3);
void
    casadi__Sparsity__qr_sparse__0(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3){
    try {
        casadi::Sparsity x0_ = casadi::Sparsity();  // Swig output
        casadi::Sparsity x1_ = casadi::Sparsity();  // Swig output
        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
        std::vector< long long > x3_ = std::vector< long long >();  // Swig output

        obj->qr_sparse(x0_, x1_, x2_, x3_);
        *x0 = WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( x0_ );
        *x1 = WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( x1_ );
        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
        *x3 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x3_ );

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "qr_sparse" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::qr_sparse"
// cWrapperName: "casadi__Sparsity__qr_sparse__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3, int x4)"
// args: "(x0_, x1_, x2_, x3_, x4_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__qr_sparse__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3, int x4)"
// call: "        obj->qr_sparse(x0_, x1_, x2_, x3_, x4_);"
// params: [(Ref (UserType (Namespace ["casadi"]) (Name "Sparsity")),SwigOutput True),(Ref (UserType (Namespace ["casadi"]) (Name "Sparsity")),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
void
    casadi__Sparsity__qr_sparse__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3, int x4);
void
    casadi__Sparsity__qr_sparse__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity** x0, casadi::Sparsity** x1, std::vector< long long >** x2, std::vector< long long >** x3, int x4){
    try {
        casadi::Sparsity x0_ = casadi::Sparsity();  // Swig output
        casadi::Sparsity x1_ = casadi::Sparsity();  // Swig output
        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
        std::vector< long long > x3_ = std::vector< long long >();  // Swig output
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        obj->qr_sparse(x0_, x1_, x2_, x3_, x4_);
        *x0 = WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( x0_ );
        *x1 = WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( x1_ );
        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
        *x3 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x3_ );
        // x4 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "removeDuplicates" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::removeDuplicates"
// cWrapperName: "casadi__Sparsity__removeDuplicates"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0)"
// call: "        obj->removeDuplicates(x0_);"
// params: [(Ref (StdVec CLongLong),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0);
void
    casadi__Sparsity__removeDuplicates(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);

        obj->removeDuplicates(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "repr_el" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::repr_el"
// cWrapperName: "casadi__Sparsity__repr_el"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Sparsity__repr_el(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// call: "        std::string ret = obj->repr_el(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
std::string*
    casadi__Sparsity__repr_el(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
std::string*
    casadi__Sparsity__repr_el(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = obj->repr_el(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "resize" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::resize"
// cWrapperName: "casadi__Sparsity__resize"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// call: "        obj->resize(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
void
    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
void
    casadi__Sparsity__resize(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        obj->resize(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "row" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::row"
// cWrapperName: "casadi__Sparsity__row"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// call: "        long long ret = obj->row(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
long long
    casadi__Sparsity__row(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->row(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "rowcol" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::rowcol"
// cWrapperName: "casadi__Sparsity__rowcol"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, long long x2, long long x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, long long x2, long long x3)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::rowcol(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, long long x2, long long x3);
casadi::Sparsity*
    casadi__Sparsity__rowcol(std::string ** err_msg, std::vector< long long >* x0, std::vector< long long >* x1, long long x2, long long x3){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        casadi::Sparsity ret = casadi::Sparsity::rowcol(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rows" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::rows"
// cWrapperName: "casadi__Sparsity__rows"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__rows(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->rows();"
// params: []
extern "C"
long long
    casadi__Sparsity__rows(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__rows(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->rows();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rowsSequential" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::rowsSequential"
// cWrapperName: "casadi__Sparsity__rowsSequential__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        bool ret = obj->rowsSequential();"
// params: []
extern "C"
int
    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj);
int
    casadi__Sparsity__rowsSequential__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        bool ret = obj->rowsSequential();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "rowsSequential" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::rowsSequential"
// cWrapperName: "casadi__Sparsity__rowsSequential__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// args: "(x0_)"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0)"
// call: "        bool ret = obj->rowsSequential(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
int
    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0);
int
    casadi__Sparsity__rowsSequential__1(std::string ** err_msg, casadi::Sparsity* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        bool ret = obj->rowsSequential(x0_);
        // x0 is not a swig output

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "scalar" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::scalar"
// cWrapperName: "casadi__Sparsity__scalar__0"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__scalar__0(std::string ** err_msg)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::scalar();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__scalar__0(std::string ** err_msg);
casadi::Sparsity*
    casadi__Sparsity__scalar__0(std::string ** err_msg){
    try {

        casadi::Sparsity ret = casadi::Sparsity::scalar();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "scalar" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::scalar"
// cWrapperName: "casadi__Sparsity__scalar__1"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::scalar(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0);
casadi::Sparsity*
    casadi__Sparsity__scalar__1(std::string ** err_msg, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::scalar(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "scc" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::scc"
// cWrapperName: "casadi__Sparsity__scc"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
// args: "(x0_, x1_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1)"
// call: "        long long ret = obj->scc(x0_, x1_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True),(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
long long
    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1);
long long
    casadi__Sparsity__scc(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, std::vector< long long >** x1){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
        std::vector< long long > x1_ = std::vector< long long >();  // Swig output

        long long ret = obj->scc(x0_, x1_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
        *x1 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x1_ );

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "serialize" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::serialize"
// cWrapperName: "casadi__Sparsity__serialize"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Sparsity__serialize(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::string ret = obj->serialize();"
// params: []
extern "C"
std::string*
    casadi__Sparsity__serialize(std::string ** err_msg, casadi::Sparsity* obj);
std::string*
    casadi__Sparsity__serialize(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::string ret = obj->serialize();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::size"
// cWrapperName: "casadi__Sparsity__size__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// args: "(x0_)"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// call: "        long long ret = obj->size(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
long long
    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
long long
    casadi__Sparsity__size__0(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        long long ret = obj->size(x0_);
        // x0 is not a swig output

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::size"
// cWrapperName: "casadi__Sparsity__size__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: StdPair CLongLong CLongLong
// cWrapperRetType: "std::pair< long long, long long >*"
// proto: "std::pair< long long, long long >*\n    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        std::pair< long long, long long > ret = obj->size();"
// params: []
extern "C"
std::pair< long long, long long >*
    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj);
std::pair< long long, long long >*
    casadi__Sparsity__size__1(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        std::pair< long long, long long > ret = obj->size();

        return WrapReturn< std::pair< long long, long long >*, std::pair< long long, long long > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size1" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::size1"
// cWrapperName: "casadi__Sparsity__size1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->size1();"
// params: []
extern "C"
long long
    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__size1(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->size1();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "size2" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::size2"
// cWrapperName: "casadi__Sparsity__size2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CLongLong
// cWrapperRetType: "long long"
// proto: "long long\n    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        long long ret = obj->size2();"
// params: []
extern "C"
long long
    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj);
long long
    casadi__Sparsity__size2(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        long long ret = obj->size2();

        return WrapReturn< long long, long long >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "spy" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::spy"
// cWrapperName: "casadi__Sparsity__spy"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        obj->spy();"
// params: []
extern "C"
void
    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj);
void
    casadi__Sparsity__spy(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        obj->spy();

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "spy_matlab" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::spy_matlab"
// cWrapperName: "casadi__Sparsity__spy_matlab"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
// call: "        obj->spy_matlab(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0);
void
    casadi__Sparsity__spy_matlab(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->spy_matlab(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "star_coloring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::star_coloring"
// cWrapperName: "casadi__Sparsity__star_coloring__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        casadi::Sparsity ret = obj->star_coloring();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__star_coloring__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->star_coloring();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "star_coloring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::star_coloring"
// cWrapperName: "casadi__Sparsity__star_coloring__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// call: "        casadi::Sparsity ret = obj->star_coloring(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
casadi::Sparsity*
    casadi__Sparsity__star_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = obj->star_coloring(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "star_coloring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::star_coloring"
// cWrapperName: "casadi__Sparsity__star_coloring__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// call: "        casadi::Sparsity ret = obj->star_coloring(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__star_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = obj->star_coloring(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "star_coloring2" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::star_coloring2"
// cWrapperName: "casadi__Sparsity__star_coloring2__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        casadi::Sparsity ret = obj->star_coloring2();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__star_coloring2__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->star_coloring2();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "star_coloring2" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::star_coloring2"
// cWrapperName: "casadi__Sparsity__star_coloring2__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0)"
// call: "        casadi::Sparsity ret = obj->star_coloring2(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0);
casadi::Sparsity*
    casadi__Sparsity__star_coloring2__1(std::string ** err_msg, casadi::Sparsity* obj, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = obj->star_coloring2(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "star_coloring2" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::star_coloring2"
// cWrapperName: "casadi__Sparsity__star_coloring2__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1)"
// call: "        casadi::Sparsity ret = obj->star_coloring2(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__star_coloring2__2(std::string ** err_msg, casadi::Sparsity* obj, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = obj->star_coloring2(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sub" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sub"
// cWrapperName: "casadi__Sparsity__sub__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2)"
// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2);
casadi::Sparsity*
    casadi__Sparsity__sub__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        std::vector< long long > x2_ = std::vector< long long >();  // Swig output

        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sub" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sub"
// cWrapperName: "casadi__Sparsity__sub__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2, int x3)"
// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__sub__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, casadi::Sparsity* x1, std::vector< long long >** x2, int x3){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sub" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sub"
// cWrapperName: "casadi__Sparsity__sub__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2)"
// args: "(x0_, x1_, x2_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2)"
// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2);
casadi::Sparsity*
    casadi__Sparsity__sub__2(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        std::vector< long long > x2_ = std::vector< long long >();  // Swig output

        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "sub" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::sub"
// cWrapperName: "casadi__Sparsity__sub__3"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2, int x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2, int x3)"
// call: "        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2, int x3);
casadi::Sparsity*
    casadi__Sparsity__sub__3(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >* x0, std::vector< long long >* x1, std::vector< long long >** x2, int x3){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);
        std::vector< long long > x2_ = std::vector< long long >();  // Swig output
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::Sparsity ret = obj->sub(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        *x2 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x2_ );
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "to_file" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::to_file"
// cWrapperName: "casadi__Sparsity__to_file__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__to_file__0(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0)"
// call: "        obj->to_file(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__to_file__0(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0);
void
    casadi__Sparsity__to_file__0(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        obj->to_file(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "to_file" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::to_file"
// cWrapperName: "casadi__Sparsity__to_file__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0, std::string* x1)"
// args: "(x0_, x1_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__Sparsity__to_file__1(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0, std::string* x1)"
// call: "        obj->to_file(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__Sparsity__to_file__1(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0, std::string* x1);
void
    casadi__Sparsity__to_file__1(std::string ** err_msg, casadi::Sparsity* obj, std::string* x0, std::string* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        obj->to_file(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Normal method: "transpose" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::transpose"
// cWrapperName: "casadi__Sparsity__transpose__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0)"
// call: "        casadi::Sparsity ret = obj->transpose(x0_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0);
casadi::Sparsity*
    casadi__Sparsity__transpose__0(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output

        casadi::Sparsity ret = obj->transpose(x0_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "transpose" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::transpose"
// cWrapperName: "casadi__Sparsity__transpose__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1)"
// call: "        casadi::Sparsity ret = obj->transpose(x0_, x1_);"
// params: [(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1);
casadi::Sparsity*
    casadi__Sparsity__transpose__1(std::string ** err_msg, casadi::Sparsity* obj, std::vector< long long >** x0, int x1){
    try {
        std::vector< long long > x0_ = std::vector< long long >();  // Swig output
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Sparsity ret = obj->transpose(x0_, x1_);
        *x0 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x0_ );
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::triplet"
// cWrapperName: "casadi__Sparsity__triplet__0"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// args: "(x0_, x1_, x2_, x3_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__triplet__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
casadi::Sparsity*
    casadi__Sparsity__triplet__0(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "triplet" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::triplet"
// cWrapperName: "casadi__Sparsity__triplet__1"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >** x4, int x5)"
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__triplet__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >** x4, int x5)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_, x5_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput True),(CBool,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__triplet__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >** x4, int x5);
casadi::Sparsity*
    casadi__Sparsity__triplet__1(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3, std::vector< long long >** x4, int x5){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        std::vector< long long > x2_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        std::vector< long long > x4_ = std::vector< long long >();  // Swig output
        bool x5_ = Marshaling<bool,int>::marshal(x5);

        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_, x5_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output
        // x3 is not a swig output
        *x4 = WrapReturn< std::vector< long long >*, std::vector< long long > >::wrapReturn( x4_ );
        // x5 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::type_name"
// cWrapperName: "casadi__Sparsity__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Sparsity__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::Sparsity::type_name();"
// params: []
extern "C"
std::string*
    casadi__Sparsity__type_name(std::string ** err_msg);
std::string*
    casadi__Sparsity__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::Sparsity::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "uni_coloring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::uni_coloring"
// cWrapperName: "casadi__Sparsity__uni_coloring__0"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj)"
// call: "        casadi::Sparsity ret = obj->uni_coloring();"
// params: []
extern "C"
casadi::Sparsity*
    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj);
casadi::Sparsity*
    casadi__Sparsity__uni_coloring__0(std::string ** err_msg, casadi::Sparsity* obj){
    try {

        casadi::Sparsity ret = obj->uni_coloring();

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "uni_coloring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::uni_coloring"
// cWrapperName: "casadi__Sparsity__uni_coloring__1"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        casadi::Sparsity ret = obj->uni_coloring(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__uni_coloring__1(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->uni_coloring(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "uni_coloring" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::uni_coloring"
// cWrapperName: "casadi__Sparsity__uni_coloring__2"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1)"
// call: "        casadi::Sparsity ret = obj->uni_coloring(x0_, x1_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__uni_coloring__2(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0, long long x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = obj->uni_coloring(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "unit" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::unit"
// cWrapperName: "casadi__Sparsity__unit"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__unit(std::string ** err_msg, long long x0, long long x1)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::unit(x0_, x1_);"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__unit(std::string ** err_msg, long long x0, long long x1);
casadi::Sparsity*
    casadi__Sparsity__unit(std::string ** err_msg, long long x0, long long x1){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Sparsity ret = casadi::Sparsity::unit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "unite" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::unite"
// cWrapperName: "casadi__Sparsity__unite"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0)"
// call: "        casadi::Sparsity ret = obj->unite(x0_);"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi__Sparsity__unite(std::string ** err_msg, casadi::Sparsity* obj, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = obj->unite(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "upper" ===============
// class: "casadi::Sparsity"
// cppName: "casadi::Sparsity::upper"
// cWrapperName: "casadi__Sparsity__upper"
// protoArgs: "(std::string ** err_msg, long long x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi__Sparsity__upper(std::string ** err_msg, long long x0)"
// call: "        casadi::Sparsity ret = casadi::Sparsity::upper(x0_);"
// params: [(CLongLong,SwigOutput False)]
extern "C"
casadi::Sparsity*
    casadi__Sparsity__upper(std::string ** err_msg, long long x0);
casadi::Sparsity*
    casadi__Sparsity__upper(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        casadi::Sparsity ret = casadi::Sparsity::upper(x0_);
        // x0 is not a swig output

        return WrapReturn< casadi::Sparsity*, casadi::Sparsity >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "SparsityInterfaceCommon")===============
// classType: UserType (Namespace ["casadi"]) (Name "SparsityInterfaceCommon")
extern "C"
void delete_casadi__SparsityInterfaceCommon(casadi::SparsityInterfaceCommon* obj);
void delete_casadi__SparsityInterfaceCommon(casadi::SparsityInterfaceCommon* obj){
    delete obj;
}


// ================== delete UserType (Namespace ["casadi"]) (Name "Variable")===============
// classType: UserType (Namespace ["casadi"]) (Name "Variable")
extern "C"
void delete_casadi__Variable(casadi::Variable* obj);
void delete_casadi__Variable(casadi::Variable* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable"
// cWrapperName: "casadi__Variable__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable"
// cWrapperName: "casadi__Variable__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// args: "(x0_, x1_)"
// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1)"
// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_, x1_);"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
extern "C"
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1);
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, casadi::Sparsity* x1){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable"
// cWrapperName: "casadi__Variable__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "Variable")
// cWrapperRetType: "casadi::Variable*"
// proto: "casadi::Variable*\n    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg)"
// call: "        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable();"
// params: []
extern "C"
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg);
casadi::Variable*
    casadi__Variable__CONSTRUCTOR__2(std::string ** err_msg){
    try {

        casadi::Variable* ret = (casadi::Variable*)new casadi::Variable();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable::get_str"
// cWrapperName: "casadi__Variable__get_str__0"
// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Variable__get_str__0(std::string ** err_msg, casadi::Variable* obj)"
// call: "        std::string ret = obj->get_str();"
// params: []
extern "C"
std::string*
    casadi__Variable__get_str__0(std::string ** err_msg, casadi::Variable* obj);
std::string*
    casadi__Variable__get_str__0(std::string ** err_msg, casadi::Variable* obj){
    try {

        std::string ret = obj->get_str();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "get_str" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable::get_str"
// cWrapperName: "casadi__Variable__get_str__1"
// protoArgs: "(std::string ** err_msg, casadi::Variable* obj, int x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Variable__get_str__1(std::string ** err_msg, casadi::Variable* obj, int x0)"
// call: "        std::string ret = obj->get_str(x0_);"
// params: [(CBool,SwigOutput False)]
extern "C"
std::string*
    casadi__Variable__get_str__1(std::string ** err_msg, casadi::Variable* obj, int x0);
std::string*
    casadi__Variable__get_str__1(std::string ** err_msg, casadi::Variable* obj, int x0){
    try {
        bool x0_ = Marshaling<bool,int>::marshal(x0);

        std::string ret = obj->get_str(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "name" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable::name"
// cWrapperName: "casadi__Variable__name"
// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj)"
// call: "        std::string ret = obj->name();"
// params: []
extern "C"
std::string*
    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj);
std::string*
    casadi__Variable__name(std::string ** err_msg, casadi::Variable* obj){
    try {

        std::string ret = obj->name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "type_name" ===============
// class: "casadi::Variable"
// cppName: "casadi::Variable::type_name"
// cWrapperName: "casadi__Variable__type_name"
// protoArgs: "(std::string ** err_msg, casadi::Variable* obj)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__Variable__type_name(std::string ** err_msg, casadi::Variable* obj)"
// call: "        std::string ret = obj->type_name();"
// params: []
extern "C"
std::string*
    casadi__Variable__type_name(std::string ** err_msg, casadi::Variable* obj);
std::string*
    casadi__Variable__type_name(std::string ** err_msg, casadi::Variable* obj){
    try {

        std::string ret = obj->type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "WeakRef")===============
// classType: UserType (Namespace ["casadi"]) (Name "WeakRef")
extern "C"
void delete_casadi__WeakRef(casadi::WeakRef* obj);
void delete_casadi__WeakRef(casadi::WeakRef* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::WeakRef"
// cppName: "casadi::WeakRef"
// cWrapperName: "casadi__WeakRef__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, casadi::SharedObject* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "WeakRef")
// cWrapperRetType: "casadi::WeakRef*"
// proto: "casadi::WeakRef*\n    casadi__WeakRef__CONSTRUCTOR__0(std::string ** err_msg, casadi::SharedObject* x0)"
// call: "        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef(x0_);"
// params: [(UserType (Namespace ["casadi"]) (Name "SharedObject"),SwigOutput False)]
extern "C"
casadi::WeakRef*
    casadi__WeakRef__CONSTRUCTOR__0(std::string ** err_msg, casadi::SharedObject* x0);
casadi::WeakRef*
    casadi__WeakRef__CONSTRUCTOR__0(std::string ** err_msg, casadi::SharedObject* x0){
    try {
        casadi::SharedObject x0_ = Marshaling<casadi::SharedObject,casadi::SharedObject*>::marshal(x0);

        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::WeakRef"
// cppName: "casadi::WeakRef"
// cWrapperName: "casadi__WeakRef__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "WeakRef")
// cWrapperRetType: "casadi::WeakRef*"
// proto: "casadi::WeakRef*\n    casadi__WeakRef__CONSTRUCTOR__1(std::string ** err_msg)"
// call: "        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef();"
// params: []
extern "C"
casadi::WeakRef*
    casadi__WeakRef__CONSTRUCTOR__1(std::string ** err_msg);
casadi::WeakRef*
    casadi__WeakRef__CONSTRUCTOR__1(std::string ** err_msg){
    try {

        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::WeakRef"
// cppName: "casadi::WeakRef"
// cWrapperName: "casadi__WeakRef__CONSTRUCTOR__2"
// protoArgs: "(std::string ** err_msg, int x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "WeakRef")
// cWrapperRetType: "casadi::WeakRef*"
// proto: "casadi::WeakRef*\n    casadi__WeakRef__CONSTRUCTOR__2(std::string ** err_msg, int x0)"
// call: "        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef(x0_);"
// params: [(CInt,SwigOutput False)]
extern "C"
casadi::WeakRef*
    casadi__WeakRef__CONSTRUCTOR__2(std::string ** err_msg, int x0);
casadi::WeakRef*
    casadi__WeakRef__CONSTRUCTOR__2(std::string ** err_msg, int x0){
    try {
        int x0_ = Marshaling<int,int>::marshal(x0);

        casadi::WeakRef* ret = (casadi::WeakRef*)new casadi::WeakRef(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "alive" ===============
// class: "casadi::WeakRef"
// cppName: "casadi::WeakRef::alive"
// cWrapperName: "casadi__WeakRef__alive"
// protoArgs: "(std::string ** err_msg, casadi::WeakRef* obj)"
// args: "()"
// rettype: CBool
// cWrapperRetType: "int"
// proto: "int\n    casadi__WeakRef__alive(std::string ** err_msg, casadi::WeakRef* obj)"
// call: "        bool ret = obj->alive();"
// params: []
extern "C"
int
    casadi__WeakRef__alive(std::string ** err_msg, casadi::WeakRef* obj);
int
    casadi__WeakRef__alive(std::string ** err_msg, casadi::WeakRef* obj){
    try {

        bool ret = obj->alive();

        return WrapReturn< int, bool >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Normal method: "shared" ===============
// class: "casadi::WeakRef"
// cppName: "casadi::WeakRef::shared"
// cWrapperName: "casadi__WeakRef__shared"
// protoArgs: "(std::string ** err_msg, casadi::WeakRef* obj)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "SharedObject")
// cWrapperRetType: "casadi::SharedObject*"
// proto: "casadi::SharedObject*\n    casadi__WeakRef__shared(std::string ** err_msg, casadi::WeakRef* obj)"
// call: "        casadi::SharedObject ret = obj->shared();"
// params: []
extern "C"
casadi::SharedObject*
    casadi__WeakRef__shared(std::string ** err_msg, casadi::WeakRef* obj);
casadi::SharedObject*
    casadi__WeakRef__shared(std::string ** err_msg, casadi::WeakRef* obj){
    try {

        casadi::SharedObject ret = obj->shared();

        return WrapReturn< casadi::SharedObject*, casadi::SharedObject >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}



// ================== delete UserType (Namespace ["casadi"]) (Name "XmlFile")===============
// classType: UserType (Namespace ["casadi"]) (Name "XmlFile")
extern "C"
void delete_casadi__XmlFile(casadi::XmlFile* obj);
void delete_casadi__XmlFile(casadi::XmlFile* obj){
    delete obj;
}

// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile"
// cWrapperName: "casadi__XmlFile__CONSTRUCTOR__0"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: UserType (Namespace ["casadi"]) (Name "XmlFile")
// cWrapperRetType: "casadi::XmlFile*"
// proto: "casadi::XmlFile*\n    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0)"
// call: "        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
casadi::XmlFile*
    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0);
casadi::XmlFile*
    casadi__XmlFile__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile(x0_);
        // x0 is not a swig output

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Constructor method: "CONSTRUCTOR" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile"
// cWrapperName: "casadi__XmlFile__CONSTRUCTOR__1"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: UserType (Namespace ["casadi"]) (Name "XmlFile")
// cWrapperRetType: "casadi::XmlFile*"
// proto: "casadi::XmlFile*\n    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg)"
// call: "        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile();"
// params: []
extern "C"
casadi::XmlFile*
    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg);
casadi::XmlFile*
    casadi__XmlFile__CONSTRUCTOR__1(std::string ** err_msg){
    try {

        casadi::XmlFile* ret = (casadi::XmlFile*)new casadi::XmlFile();

        return ret;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "doc" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile::doc"
// cWrapperName: "casadi__XmlFile__doc"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0)"
// call: "        std::string ret = casadi::XmlFile::doc(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
std::string*
    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0);
std::string*
    casadi__XmlFile__doc(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::XmlFile::doc(x0_);
        // x0 is not a swig output

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== Static method: "load_plugin" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile::load_plugin"
// cWrapperName: "casadi__XmlFile__load_plugin"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// args: "(x0_)"
// rettype: CVoid
// cWrapperRetType: "void"
// proto: "void\n    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0)"
// call: "        casadi::XmlFile::load_plugin(x0_);"
// params: [(Ref (Const StdString),SwigOutput False)]
extern "C"
void
    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0);
void
    casadi__XmlFile__load_plugin(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::XmlFile::load_plugin(x0_);
        // x0 is not a swig output

        return;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== Static method: "type_name" ===============
// class: "casadi::XmlFile"
// cppName: "casadi::XmlFile::type_name"
// cWrapperName: "casadi__XmlFile__type_name"
// protoArgs: "(std::string ** err_msg)"
// args: "()"
// rettype: StdString
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi__XmlFile__type_name(std::string ** err_msg)"
// call: "        std::string ret = casadi::XmlFile::type_name();"
// params: []
extern "C"
std::string*
    casadi__XmlFile__type_name(std::string ** err_msg);
std::string*
    casadi__XmlFile__type_name(std::string ** err_msg){
    try {

        std::string ret = casadi::XmlFile::type_name();

        return WrapReturn< std::string*, std::string >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}